Files
BeWoPlaner/BeWoPlanerMobil/Models/EmployeeModel.cs

75 lines
2.2 KiB
C#

using BS.Shared.DataContracts;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
namespace BeWoPlanerMobil.Models
{
public class EmployeeModel : AbstractModel, IAbsenceTimeModel
{
public string HtmlPrefix => "employee";
public EmployeeSessionModel EmployeeSessionModel => SessionModel as EmployeeSessionModel;
public EmployeeDC SelectedEmployee { get; set; }
public IAbsenceTime AbsenceTimeObject
{
get => SelectedEmployee;
set => SelectedEmployee = (EmployeeDC) value;
}
public AbsenceTimeDC SelectedAbsenceTime { get; set; }
[Display(Name = "Mitarbeiter")]
public long? SelectedEmployeeOid
{
get => EmployeeSessionModel.SelectedAbsenceTimeObjectOid;
set => EmployeeSessionModel.SelectedAbsenceTimeObjectOid = value;
}
public EmployeeModel()
{
SessionModel = new EmployeeSessionModel();
}
public List<AbsenceReasonDC> AllAbsenceReasons { get; set; }
public List<SelectListItem> AbsenceReasonItems
{
get
{
var result = new List<SelectListItem> { new SelectListItem { Value = "-1", Text = string.Empty } };
foreach(var absenceReason in AllAbsenceReasons)
{
if(absenceReason.AbsenceReasonOid is null)
{
continue;
}
result.Add(new SelectListItem
{
Value = absenceReason.AbsenceReasonOid.Value.ToString(),
Text = absenceReason.Description
});
}
return result;
}
}
[Display(Name = "Kategorie")]
public long? SelectedAbsenceReasonOid
{
get => EmployeeSessionModel.SelectedAbsenceReasonOid;
set => EmployeeSessionModel.SelectedAbsenceReasonOid = value;
}
public long? SelectedAbsenceTimeOid
{
get => EmployeeSessionModel.SelectedAbsenceTimeOid;
set => EmployeeSessionModel.SelectedAbsenceTimeOid = value;
}
}
}