75 lines
2.2 KiB
C#
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;
|
|
}
|
|
}
|
|
} |