EnVisageOnline/Main/Source/EnVisage/Models/MixModels/MixModelBase.cs

70 lines
2.0 KiB
C#

using EnVisage.Code;
using EnVisage.Code.DAL.Mongo;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace EnVisage.Models
{
public class MixModelBase
{
/// <summary>
/// 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.
/// </summary>
public class MixTeamModelBase
{
/// <summary>
/// An Id of the team in MongoDB.
/// </summary>
public string Id { get; set; }
/// <summary>
/// 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)
/// </summary>
public bool IsNew { get; set; }
/// <summary>
/// Gets or sets a name of the team.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Gets or sets a Copmpany of the team.
/// </summary>
public Guid? CompanyId { get; set; }
/// <summary>
/// Gets or sets Cost Center of the team.
/// </summary>
public Guid? CostCenterId { get; set; }
/// <summary>
/// Gets or sets a list of contributors of the team.
/// </summary>
public Guid[] UserId { get; set; }
/// <summary>
/// Gets or sets a planned capacity of the team.
/// </summary>
public List<MixTeamCapacity> PlannedCapacity { get; set; }
}
public MixModelBase()
{
Users = new List<Guid>();
}
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; }
/// <summary>
/// Gets or sets an unique identifier of the user who created a mix.
/// </summary>
public string CreatedBy { get; set; }
public List<Guid> Users { get; set; }
}
}