using EnVisage.Code; using EnVisage.Code.DAL.Mongo; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace EnVisage.Models { public class MixModelBase { /// /// Represents a team object assigned to the Mix object. I can be one of teams from SQL DB or a new object created from Roadmap tool. /// public class MixTeamModelBase { /// /// An Id of the team in MongoDB. /// public string Id { get; set; } /// /// Gets or sets a value indicating that team has been created in Roadmap Optimizer tool and it does not exist in permanent storage (SQL Server) /// public bool IsNew { get; set; } /// /// Gets or sets a name of the team. /// public string Name { get; set; } /// /// Gets or sets a Copmpany of the team. /// public Guid? CompanyId { get; set; } /// /// Gets or sets Cost Center of the team. /// public Guid? CostCenterId { get; set; } /// /// Gets or sets a list of contributors of the team. /// public Guid[] UserId { get; set; } /// /// Gets or sets a planned capacity of the team. /// public List PlannedCapacity { get; set; } } public MixModelBase() { Users = new List(); } public string Id { get; set; } [Required] [MaxLength(64)] public string Name { get; set; } [Required] public long StartDate { get; set; } [Required] public long EndDate { get; set; } /// /// Gets or sets an unique identifier of the user who created a mix. /// public string CreatedBy { get; set; } public List Users { get; set; } } }