EnVisageOnline/Main/Source/EnVisage/Models/CapacityManagmentModel.cs

62 lines
1.8 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using EnVisage.Code;
using System.Linq;
namespace EnVisage.Models
{
/// <summary>
/// Available options for filters on a page
/// </summary>
public class ActivityCalendarFilterOptions
{
public class ProjectRoleItem: SelectListItem
{
public string CostCenterId { get; set; }
}
public List<SelectListItem> Companies = new List<SelectListItem>();
public List<SelectListItem> Teams = new List<SelectListItem>();
public List<SelectListItem> Views = new List<SelectListItem>();
public List<SelectListItem> CostCenters = new List<SelectListItem>();
public List<ProjectRoleItem> ProjectRoles = new List<ProjectRoleItem>();
}
/// <summary>
/// Represents an object with info requried to initialize activity calendars of different types.
/// </summary>
public class CapacityPageInitOption
{
public enum CalendarEntityType
{
Team = 1,
View = 2,
Company = 3,
Resource = 4,
}
public bool ShowUpper;
public bool ShowLower;
public bool IsUOMHours;
public bool PreferredTotalsDisplaying;
public bool IsBarMode;
public bool IsViewModeMonth;
public bool IsCapacityModeActuals;
public bool GroupByTeam;
public int ShowCapacity;
public string StartDate;
public string EndDate;
public string MenuId;
public string ModelType;
public string PagePreferences;
public string DataSection;
public string PageTitle;
public ActivityCalendarFilterOptions FilterOptions;
public CalendarEntityType? EntityType;
public Guid? EntityId;
};
}