Files
BeWoPlaner/BeWoPlanerMobil/Models/ReportViewerModel.cs
Lyndon Jetten d82e1ed290 MoK:
+ Klientenfilter im Kalender-Modul: Rechte verfeinert
+ Auswertungsmodul angefangen. Nur im Debug-Modus sichtbar.

FaC:
+ In die Zeiterfassung übertragene Termine kriegen Icon auch, wenn nur der veraltete Flag "HasSerivceRecordEntry" auf true steht.
2023-03-16 13:57:04 +01:00

148 lines
3.7 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using DevExpress.XtraReports.UI;
namespace BeWoPlanerMobil.Models
{
public class ReportViewerModel : AbstractModel
{
public List<CompactEmployeeDC> AllEmployees { get; set; }
public List<CompactTeamDC> AllTeams { get; set; }
public List<QueryDC> Queries { get; set; }
[Display(Name = "Monat")]
public int? SelectedMonth { get; set; }
public List<SelectListItem> Months
{
get
{
var result = new List<SelectListItem>();
for(var i = 1; i < 13; i++)
{
result.Add(new SelectListItem
{
Value = i.ToString(),
Text = new DateTime(DateTime.Now.Year, i, 1).ToString("MMMM")
});
}
return result;
}
}
[Display(Name = "Jahr")]
public int? SelectedYear { get; set; }
public List<SelectListItem> Years
{
get
{
var result = new List<SelectListItem>();
for(var i = DateTime.Today.Year; i > DateTime.Today.Year - 11; i--)
{
result.Add(new SelectListItem
{
Value = i.ToString(),
Text = i.ToString()
});
}
return result;
}
}
[Display(Name="Bericht")]
public ReportType SelectedReportType { get; set; }
public List<SelectListItem> ReportTypes { get; set; }
[Display(Name = "Bericht")]
public long? SelectedCustomReport { get; set; }
public List<SelectListItem> CustomReports
{
get
{
var result = new List<SelectListItem>();
if(Queries is null)
{
return result;
}
foreach(var query in Queries)
{
result.Add(new SelectListItem { Text = query.Title, Value = query.Oid.ToString() });
}
return result;
}
}
[Display(Name="Mitarbeiter")]
public long? SelectedEmployeeOid { get; set; }
public List<SelectListItem> Employees
{
get
{
var result = new List<SelectListItem>();
if(AllEmployees is null)
{
return result;
}
foreach(var employee in AllEmployees)
{
result.Add(new SelectListItem { Text = employee.SimpleDescription, Value = employee.EmployeeOid.ToString() });
}
return result;
}
}
[Display(Name = "Team")]
public long? SelectedTeamOid { get; set; }
public List<SelectListItem> Teams
{
get
{
var result = new List<SelectListItem>();
if(AllTeams is null)
{
return result;
}
foreach(var team in AllTeams)
{
result.Add(new SelectListItem { Text = team.Name, Value = team.TeamOid.ToString() });
}
return result;
}
}
public XtraReport Report { get; set; }
}
public enum ReportType
{
Berichte = 0,
Mitarbeiterstundenkonto = 1
}
}