MoK: PasswordSecurity in _Layout.cshtml verlegt, Meine Teams und Meine Klienten im Quittierungsbelegsmodul werden jetzt richtig geladen
168 lines
6.0 KiB
C#
168 lines
6.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using System.Web.Mvc;
|
|
using BeWo.View.Navigation.Filter;
|
|
using BeWoPlanerMobil.Controllers;
|
|
using BeWoPlanerMobil.Service;
|
|
using BeWoPlanerMobil.Util;
|
|
using BS.Shared;
|
|
using BS.Shared.DataContracts;
|
|
using BS.Shared.DataContracts.Compact;
|
|
using DevExpress.XtraPrinting.Native;
|
|
using DevExpress.XtraReports.UI;
|
|
|
|
namespace BeWoPlanerMobil.Models
|
|
{
|
|
public class CustomerModel : AbstractModel
|
|
{
|
|
[Display(Name = "Klient")]
|
|
public long? SelectedCustomerOid { get; set; }
|
|
|
|
public CustomerDC SelectedCustomer { get; set; }
|
|
|
|
public List<CompactCustomerDC> Customers { get; set; }
|
|
|
|
public IEnumerable<SelectListItem> CustomerListItems
|
|
{
|
|
get
|
|
{
|
|
var result = new List<SelectListItem> { new SelectListItem { Value = "-1", Text = string.Empty } };
|
|
result.AddRange(Customers.Select(item => new SelectListItem { Value = item.CustomerOid.ToString(), Text = string.Format("{1}, {0}", item.FirstName, item.LastName) }).ToList());
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public Dictionary<string, string> ICD10Diagnosen { get; set; }
|
|
|
|
public JsonCustomer SelectedJsonCustomer => SelectedCustomer != null ? new JsonCustomer(SelectedCustomer, FolderTree, ICD10Diagnosen) : null;
|
|
|
|
[Display(Name = "Filter")]
|
|
public CustomerFilterEnum SelectedCustomerFilter { get; set; }
|
|
|
|
public List<SelectListItem> CustomerFilter
|
|
{
|
|
get
|
|
{
|
|
var result = new List<SelectListItem>();
|
|
|
|
var user = MobileSessionFacade.LoggedInUser;
|
|
|
|
const string allCustomers = "Alle Klienten anzeigen";
|
|
const string myCustomersOnly = "Nur meine Klienten anzeigen";
|
|
const string myTeamsCustomersOnly = "Nur Klienten meiner Teams anzeigen";
|
|
|
|
const string allCustomersValue = "0";
|
|
const string myCustomersValue = "1";
|
|
const string myTeamsCustomersValue = "2";
|
|
|
|
if(user != null)
|
|
{
|
|
if(user.CheckForAtLeastOneRight(new List<UserRightType> { UserRightType.ViewAll, UserRightType.CustomerView_View}))
|
|
{
|
|
result.Add(new SelectListItem { Text = allCustomers, Value = allCustomersValue });
|
|
result.Add(new SelectListItem { Text = myCustomersOnly, Value = myCustomersValue });
|
|
|
|
if(user.CheckForRight(UserRightType.Customer_ViewMyTeams))
|
|
{
|
|
result.Add(new SelectListItem {Text = myTeamsCustomersOnly, Value = myTeamsCustomersValue });
|
|
}
|
|
}
|
|
else if(user.CheckForRight(UserRightType.Customer_ViewMyTeams))
|
|
{
|
|
result.Add(new SelectListItem { Text = myCustomersOnly, Value = myCustomersValue });
|
|
result.Add(new SelectListItem { Text = myTeamsCustomersOnly, Value = myTeamsCustomersValue });
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public List<BeWoFolderDC> FolderTree { get; set; }
|
|
|
|
public List<CustomerReportType> ReportTypes { get; set; }
|
|
|
|
[Display(Name = "Bericht")]
|
|
public CustomerReportType SelectedReportType { get; set; }
|
|
|
|
public List<SelectListItem> ReportTypeItems
|
|
{
|
|
get
|
|
{
|
|
var result = new List<SelectListItem>();
|
|
|
|
foreach(var reportType in ReportTypes ?? new List<CustomerReportType>())
|
|
{
|
|
result.Add(new SelectListItem
|
|
{
|
|
Value = ((int) reportType).ToString(),
|
|
Text = reportType == CustomerReportType.Bedarfsmedikation ? "Bedarfsmedikation" : reportType == CustomerReportType.Medikamentenliste ? "Aktuelle Medikamentenverordnung" : "Historie"
|
|
});
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public List<SelectListItem> OldMedLists
|
|
{
|
|
get
|
|
{
|
|
var result = new List<SelectListItem>();
|
|
|
|
var ungueltigeListen = SelectedCustomer.Medikamentenverordnungslisten.Where(w => !w.Gueltig).OrderBy(x => x.ErstellDatum).ToList();
|
|
|
|
foreach(var list in ungueltigeListen)
|
|
{
|
|
result.Add(new SelectListItem
|
|
{
|
|
Value = list.MedikamentenverordnungslistenOid.Value.ToString(),
|
|
Text = $"{(list.MedListType ? "Medikamentenverordnungsliste" : "Bedarfsmedikamentenverordnungsliste")} vom {list.ErstellDatum}"
|
|
});
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public XtraReport Report { get; set; }
|
|
|
|
public string ReportName { get; set; }
|
|
|
|
public List<BargeldkassenDC> Bargeldkassen { get; set; }
|
|
|
|
[Display(Name = "Kategorie")]
|
|
public long? SelectedAbsenceReason { get; set; }
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
public AbsenceTimeDC SelectedAbsenceTime { get; set; }
|
|
}
|
|
} |