Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 16
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 16.0.31729.503
|
VisualStudioVersion = 17.14.36908.2 d17.14
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoPlanerMobil", "BeWoPlanerMobil\BeWoPlanerMobil.csproj", "{284B02ED-114A-426C-9162-31BB6CF05589}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeWoPlanerMobil", "BeWoPlanerMobil\BeWoPlanerMobil.csproj", "{284B02ED-114A-426C-9162-31BB6CF05589}"
|
||||||
EndProject
|
EndProject
|
||||||
@@ -27,6 +27,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FeidPartnerReports", "Repor
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PaSMoenchengladbach", "ReportImp\PaSMoenchengladbach\PaSMoenchengladbach.csproj", "{EA3C4BE1-6128-4FC9-8194-3C4202233371}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PaSMoenchengladbach", "ReportImp\PaSMoenchengladbach\PaSMoenchengladbach.csproj", "{EA3C4BE1-6128-4FC9-8194-3C4202233371}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Host", "Host\Host.csproj", "{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@@ -100,6 +102,12 @@ Global
|
|||||||
{EA3C4BE1-6128-4FC9-8194-3C4202233371}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
{EA3C4BE1-6128-4FC9-8194-3C4202233371}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{EA3C4BE1-6128-4FC9-8194-3C4202233371}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{EA3C4BE1-6128-4FC9-8194-3C4202233371}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{EA3C4BE1-6128-4FC9-8194-3C4202233371}.Release|Any CPU.Build.0 = Release|Any CPU
|
{EA3C4BE1-6128-4FC9-8194-3C4202233371}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{E1154C7B-BB77-4155-9854-DAD8FC5A8BC3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@@ -307,7 +307,9 @@
|
|||||||
<Compile Include="Controllers\CustomerController.cs" />
|
<Compile Include="Controllers\CustomerController.cs" />
|
||||||
<Compile Include="Controllers\DevToolsController.cs" />
|
<Compile Include="Controllers\DevToolsController.cs" />
|
||||||
<Compile Include="Controllers\DevExpressSchedulerController.cs" />
|
<Compile Include="Controllers\DevExpressSchedulerController.cs" />
|
||||||
|
<Compile Include="Controllers\EmployeeController.cs" />
|
||||||
<Compile Include="Controllers\ExternalSignatureController.cs" />
|
<Compile Include="Controllers\ExternalSignatureController.cs" />
|
||||||
|
<Compile Include="Controllers\IAbsenceTimeController.cs" />
|
||||||
<Compile Include="Controllers\PersonController.cs" />
|
<Compile Include="Controllers\PersonController.cs" />
|
||||||
<Compile Include="Controllers\SignableController.cs" />
|
<Compile Include="Controllers\SignableController.cs" />
|
||||||
<Compile Include="Controllers\ReportBaseController.cs" />
|
<Compile Include="Controllers\ReportBaseController.cs" />
|
||||||
@@ -316,6 +318,10 @@
|
|||||||
<Compile Include="Controllers\SchedulerController.cs" />
|
<Compile Include="Controllers\SchedulerController.cs" />
|
||||||
<Compile Include="Models\AbstractModel.cs" />
|
<Compile Include="Models\AbstractModel.cs" />
|
||||||
<Compile Include="Models\DevExpressSchedulerSessionModel.cs" />
|
<Compile Include="Models\DevExpressSchedulerSessionModel.cs" />
|
||||||
|
<Compile Include="Models\EmployeeModel.cs" />
|
||||||
|
<Compile Include="Models\EmployeeSessionModel.cs" />
|
||||||
|
<Compile Include="Models\IAbsenceTimeModel.cs" />
|
||||||
|
<Compile Include="Models\IAbsenceTimeSessionModel.cs" />
|
||||||
<Compile Include="Models\MokZiel.cs" />
|
<Compile Include="Models\MokZiel.cs" />
|
||||||
<Compile Include="Models\MokSupportConceptListObject.cs" />
|
<Compile Include="Models\MokSupportConceptListObject.cs" />
|
||||||
<Compile Include="Models\MokMandator.cs" />
|
<Compile Include="Models\MokMandator.cs" />
|
||||||
@@ -688,6 +694,9 @@
|
|||||||
<Content Include="Views\Main\Zeiterfassungspartial.cshtml" />
|
<Content Include="Views\Main\Zeiterfassungspartial.cshtml" />
|
||||||
<Content Include="Views\Main\SingleSignaturePopupPartial.cshtml" />
|
<Content Include="Views\Main\SingleSignaturePopupPartial.cshtml" />
|
||||||
<Content Include="Views\Person\Person.cshtml" />
|
<Content Include="Views\Person\Person.cshtml" />
|
||||||
|
<Content Include="Views\Employee\Employee.cshtml" />
|
||||||
|
<Content Include="Views\Shared\AbsenceTimeFormPartial.cshtml" />
|
||||||
|
<Content Include="Views\Shared\AbsenceTimePartial.cshtml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="packages.config" />
|
<Content Include="packages.config" />
|
||||||
@@ -727,15 +736,9 @@
|
|||||||
<Name>Shared</Name>
|
<Name>Shared</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="Views\Customer\CustomerAbsenceTimePartial.cshtml" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Views\Customer\CustomerBargeldkassen.cshtml" />
|
<Content Include="Views\Customer\CustomerBargeldkassen.cshtml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="Views\Customer\CustomerAbsenceTimeFormPartial.cshtml" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Views\Report\QuittierungsbelegsPreviewPartial.cshtml" />
|
<Content Include="Views\Report\QuittierungsbelegsPreviewPartial.cshtml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
|
<Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
|
||||||
<WebStackScaffolding_ControllerDialogWidth>600</WebStackScaffolding_ControllerDialogWidth>
|
<WebStackScaffolding_ControllerDialogWidth>600</WebStackScaffolding_ControllerDialogWidth>
|
||||||
<WebStackScaffolding_IsLayoutPageSelected>False</WebStackScaffolding_IsLayoutPageSelected>
|
<WebStackScaffolding_IsLayoutPageSelected>False</WebStackScaffolding_IsLayoutPageSelected>
|
||||||
<WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>
|
<WebStackScaffolding_IsPartialViewSelected>True</WebStackScaffolding_IsPartialViewSelected>
|
||||||
<WebStackScaffolding_IsReferencingScriptLibrariesSelected>False</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
|
<WebStackScaffolding_IsReferencingScriptLibrariesSelected>False</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
|
||||||
<WebStackScaffolding_LayoutPageFile>
|
<WebStackScaffolding_LayoutPageFile>
|
||||||
</WebStackScaffolding_LayoutPageFile>
|
</WebStackScaffolding_LayoutPageFile>
|
||||||
|
|||||||
@@ -18,44 +18,30 @@ using DevExpress.XtraReports.UI;
|
|||||||
|
|
||||||
namespace BeWoPlanerMobil.Controllers
|
namespace BeWoPlanerMobil.Controllers
|
||||||
{
|
{
|
||||||
public class CustomerController : ReportBaseController
|
public class CustomerController : ReportBaseController, IAbsenceTimeController
|
||||||
{
|
{
|
||||||
public CustomerController()
|
public CustomerController() { }
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
private CustomerModel _Model;
|
private CustomerModel _Model;
|
||||||
public CustomerModel Model
|
public CustomerModel Model
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (!MobileSessionFacade.IsUserLoggedIn())
|
if(!MobileSessionFacade.IsUserLoggedIn())
|
||||||
{
|
{
|
||||||
Logout();
|
Logout();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_Model == null)
|
if(_Model != null)
|
||||||
{
|
{
|
||||||
_Model = new CustomerModel();
|
return _Model;
|
||||||
|
|
||||||
InitModel(_Model);
|
|
||||||
InitViewModel();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (((CustomerModel) Session[ModelSessionConstants.CustomerModelKey])?.LoggedInEmployee is null)
|
_Model = new CustomerModel();
|
||||||
//{
|
|
||||||
// _Model = new CustomerModel();
|
|
||||||
|
|
||||||
// InitModel(_Model);
|
InitModel(_Model);
|
||||||
|
InitViewModel();
|
||||||
// Session[ModelSessionConstants.CustomerModelKey] = _Model;
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// _Model = (CustomerModel)Session[ModelSessionConstants.CustomerModelKey];
|
|
||||||
//}
|
|
||||||
|
|
||||||
return _Model;
|
return _Model;
|
||||||
}
|
}
|
||||||
@@ -112,9 +98,10 @@ namespace BeWoPlanerMobil.Controllers
|
|||||||
Model.Customers = new List<CompactCustomerDC>();
|
Model.Customers = new List<CompactCustomerDC>();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Model.CustomerSessionModel.SelectedCustomerOid.HasValue)
|
var selectedCustomerOid = Model.CustomerSessionModel.SelectedAbsenceTimeObjectOid;
|
||||||
|
if(selectedCustomerOid.HasValue)
|
||||||
{
|
{
|
||||||
Model.SelectedCustomer = CustomerService.LoadCustomer(Model.CustomerSessionModel.SelectedCustomerOid.Value);
|
Model.SelectedCustomer = CustomerService.LoadCustomer(selectedCustomerOid.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Model.IsAllowedToSeeMedikamentenliste)
|
if(Model.IsAllowedToSeeMedikamentenliste)
|
||||||
@@ -1271,11 +1258,11 @@ namespace BeWoPlanerMobil.Controllers
|
|||||||
|
|
||||||
var startDateString = formCollection["customer-absence-time-start-date"];
|
var startDateString = formCollection["customer-absence-time-start-date"];
|
||||||
var startTimeString = formCollection["customer-absence-time-start-time"];
|
var startTimeString = formCollection["customer-absence-time-start-time"];
|
||||||
var endDateString = formCollection["customer-absence-time-end-date"];
|
var endDateString = formCollection["customer-absence-time-end-date"];
|
||||||
var endTimeString = formCollection["customer-absence-time-end-time"];
|
var endTimeString = formCollection["customer-absence-time-end-time"];
|
||||||
var category = formCollection["customer-absence-time-category"];
|
var category = formCollection["customer-absence-time-category"];
|
||||||
var notice = formCollection["customer-absence-time-notice"];
|
var notice = formCollection["customer-absence-time-notice"];
|
||||||
var allDay = "on" == formCollection["customer-absence-time-allday-cb"];
|
var allDay = "on" == formCollection["customer-absence-time-allday-cb"];
|
||||||
|
|
||||||
if(allDay)
|
if(allDay)
|
||||||
{
|
{
|
||||||
@@ -1340,7 +1327,6 @@ namespace BeWoPlanerMobil.Controllers
|
|||||||
if(absenceTimeOid == 0)
|
if(absenceTimeOid == 0)
|
||||||
{
|
{
|
||||||
return RedirectToActionPermanent("Customer", Model);
|
return RedirectToActionPermanent("Customer", Model);
|
||||||
//return "Es ist ein Fehler bei der Auswahl der zu bearbeitenden Abwesenheit aufgetreten.<br />Bitte wenden Sie sich an Ihren Systemadministrator.";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var selectedAbsenceTime = Model.SelectedCustomer.AbsenceTimes.FirstOrDefault(absenceTime => absenceTime.AbsenceTimeOid.HasValue && absenceTime.AbsenceTimeOid.Value.Equals(absenceTimeOid));
|
var selectedAbsenceTime = Model.SelectedCustomer.AbsenceTimes.FirstOrDefault(absenceTime => absenceTime.AbsenceTimeOid.HasValue && absenceTime.AbsenceTimeOid.Value.Equals(absenceTimeOid));
|
||||||
@@ -1348,13 +1334,11 @@ namespace BeWoPlanerMobil.Controllers
|
|||||||
if(selectedAbsenceTime is null)
|
if(selectedAbsenceTime is null)
|
||||||
{
|
{
|
||||||
return RedirectToActionPermanent("Customer", Model);
|
return RedirectToActionPermanent("Customer", Model);
|
||||||
//return "Es ist ein Fehler bei der Auswahl der zu bearbeitenden Abwesenheit aufgetreten.<br />Bitte wenden Sie sich an Ihren Systemadministrator.";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Model.SelectedAbsenceTimeOid = absenceTimeOid;
|
Model.SelectedAbsenceTimeOid = absenceTimeOid;
|
||||||
Model.SelectedAbsenceReasonOid = selectedAbsenceTime.Reason.AbsenceReasonOid;
|
Model.SelectedAbsenceReasonOid = selectedAbsenceTime.Reason.AbsenceReasonOid;
|
||||||
|
|
||||||
//return LeerzeichenFuerGetMethoden;
|
|
||||||
return RedirectToActionPermanent("Customer", Model);
|
return RedirectToActionPermanent("Customer", Model);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1382,7 +1366,7 @@ namespace BeWoPlanerMobil.Controllers
|
|||||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return PartialView("CustomerAbsenceTimeFormPartial", Model);
|
return PartialView("AbsenceTimeFormPartial", Model);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Authorize]
|
[Authorize]
|
||||||
@@ -1400,7 +1384,7 @@ namespace BeWoPlanerMobil.Controllers
|
|||||||
if(Model is null)
|
if(Model is null)
|
||||||
{
|
{
|
||||||
TempData[TempDataConstants.DoLogoutKey] = true;
|
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||||
return PartialView("CustomerAbsenceTimePartial");
|
return PartialView("AbsenceTimePartial");
|
||||||
}
|
}
|
||||||
|
|
||||||
var absenceTime2Delete = Model.SelectedCustomer.AbsenceTimes.FirstOrDefault(absenceTime => absenceTime.AbsenceTimeOid.HasValue && absenceTime.AbsenceTimeOid.Equals(absenceTimeOid));
|
var absenceTime2Delete = Model.SelectedCustomer.AbsenceTimes.FirstOrDefault(absenceTime => absenceTime.AbsenceTimeOid.HasValue && absenceTime.AbsenceTimeOid.Equals(absenceTimeOid));
|
||||||
@@ -1418,7 +1402,7 @@ namespace BeWoPlanerMobil.Controllers
|
|||||||
|
|
||||||
LoadCustomerToModel(customer.CustomerOid);
|
LoadCustomerToModel(customer.CustomerOid);
|
||||||
|
|
||||||
return PartialView("CustomerAbsenceTimePartial", Model);
|
return PartialView("AbsenceTimePartial", Model);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
280
BeWoPlanerMobil/Controllers/EmployeeController.cs
Normal file
280
BeWoPlanerMobil/Controllers/EmployeeController.cs
Normal file
@@ -0,0 +1,280 @@
|
|||||||
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Web.Mvc;
|
||||||
|
using BeWoPlanerMobil.Models;
|
||||||
|
using BeWoPlanerMobil.Service;
|
||||||
|
using BeWoPlanerMobil.Util;
|
||||||
|
using BS.Shared;
|
||||||
|
using BS.Shared.DataContracts;
|
||||||
|
|
||||||
|
namespace BeWoPlanerMobil.Controllers
|
||||||
|
{
|
||||||
|
public class EmployeeController : AbstractBaseController, IAbsenceTimeController
|
||||||
|
{
|
||||||
|
public EmployeeController() { }
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
public override string SaveCollapsibleStatus(bool isOpen, string identifier)
|
||||||
|
{
|
||||||
|
return SaveCollapsibleStatusToModel(Model, isOpen, identifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
private EmployeeModel _Model;
|
||||||
|
|
||||||
|
public EmployeeModel Model
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if(false == MobileSessionFacade.IsUserLoggedIn())
|
||||||
|
{
|
||||||
|
Logout();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_Model != null)
|
||||||
|
{
|
||||||
|
return _Model;
|
||||||
|
}
|
||||||
|
|
||||||
|
_Model = new EmployeeModel();
|
||||||
|
|
||||||
|
InitModel(_Model);
|
||||||
|
InitViewModel();
|
||||||
|
|
||||||
|
return _Model;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
public ActionResult Employee(long? id)
|
||||||
|
{
|
||||||
|
|
||||||
|
if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer"))
|
||||||
|
{
|
||||||
|
return Logout();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(id.HasValue)
|
||||||
|
{
|
||||||
|
LoadEmployeeToModel(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return View(Model);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitViewModel()
|
||||||
|
{
|
||||||
|
if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer"))
|
||||||
|
{
|
||||||
|
Logout();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Model.AllAbsenceReasons = CustomerService.GetAllAbsenceReasons()
|
||||||
|
.Where(ar => ar.Sichtbarkeit is null ||
|
||||||
|
ar.Sichtbarkeit == AbsenceReasonVisibilityType.Employee ||
|
||||||
|
ar.Sichtbarkeit == AbsenceReasonVisibilityType.All)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
if(Model.EmployeeSessionModel.SelectedAbsenceTimeObjectOid != null)
|
||||||
|
{
|
||||||
|
Model.SelectedEmployee = EmployeeService.LoadEmployee(Model.EmployeeSessionModel.SelectedAbsenceTimeObjectOid.Value);
|
||||||
|
Model.AbsenceTimeObject = Model.SelectedEmployee;
|
||||||
|
}
|
||||||
|
|
||||||
|
var selectedAbsenceTimeOid = Model.EmployeeSessionModel.SelectedAbsenceTimeOid;
|
||||||
|
|
||||||
|
if(selectedAbsenceTimeOid.HasValue && Model.SelectedEmployee != null)
|
||||||
|
{
|
||||||
|
Model.SelectedAbsenceTime = Model.SelectedEmployee.AbsenceTimes.FirstOrDefault(absenceTime => absenceTime.AbsenceTimeOid?.Equals(selectedAbsenceTimeOid.Value) ?? false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LoadEmployeeToModel(long? employeeOid)
|
||||||
|
{
|
||||||
|
if(employeeOid == -1)
|
||||||
|
{
|
||||||
|
Model.EmployeeSessionModel.ResetValues();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(Model.SelectedEmployeeOid.HasValue && Model.SelectedEmployeeOid != employeeOid)
|
||||||
|
{
|
||||||
|
Model.EmployeeSessionModel.ResetValues();
|
||||||
|
}
|
||||||
|
|
||||||
|
Model.SelectedEmployeeOid = employeeOid;
|
||||||
|
|
||||||
|
if(employeeOid != null)
|
||||||
|
{
|
||||||
|
Model.SelectedEmployee = EmployeeService.LoadEmployee(Model.EmployeeSessionModel.SelectedAbsenceTimeObjectOid.Value);
|
||||||
|
Model.AbsenceTimeObject = Model.SelectedEmployee;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
[HttpPost]
|
||||||
|
public ActionResult CreateOrUpdateAbsenceTime(FormCollection formCollection)
|
||||||
|
{
|
||||||
|
if(Model is null)
|
||||||
|
{
|
||||||
|
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||||
|
return Logout();
|
||||||
|
}
|
||||||
|
|
||||||
|
var selectedAbsenceTime = Model.SelectedAbsenceTime;
|
||||||
|
var oid = selectedAbsenceTime?.AbsenceTimeOid;
|
||||||
|
|
||||||
|
var isNew = oid is null;
|
||||||
|
|
||||||
|
var startDateString = formCollection["employee-absence-time-start-date"];
|
||||||
|
var startTimeString = formCollection["employee-absence-time-start-time"];
|
||||||
|
var endDateString = formCollection["employee-absence-time-end-date"];
|
||||||
|
var endTimeString = formCollection["employee-absence-time-end-time"];
|
||||||
|
var category = formCollection["employee-absence-time-category"];
|
||||||
|
var notice = formCollection["employee-absence-time-notice"];
|
||||||
|
var allDay = "on" == formCollection["employee-absence-time-allday-cb"];
|
||||||
|
|
||||||
|
if(allDay)
|
||||||
|
{
|
||||||
|
startTimeString = null;
|
||||||
|
endTimeString = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var startString = $"{startDateString} {startTimeString ?? "00:00"}";
|
||||||
|
var endString = $"{endDateString} {endTimeString ?? "00:00"}";
|
||||||
|
|
||||||
|
var start = DateTime.Parse(startString);
|
||||||
|
var end = string.IsNullOrWhiteSpace(endDateString) && string.IsNullOrWhiteSpace(endTimeString) ? null : (DateTime?) DateTime.Parse(endString);
|
||||||
|
|
||||||
|
var categoryOid = long.Parse(category);
|
||||||
|
|
||||||
|
var absenceReason = Model.AllAbsenceReasons.FirstOrDefault(ar => ar.AbsenceReasonOid.HasValue && ar.AbsenceReasonOid.Value.Equals(categoryOid));
|
||||||
|
|
||||||
|
var employee = Model.SelectedEmployee;
|
||||||
|
|
||||||
|
if(isNew)
|
||||||
|
{
|
||||||
|
var absenceTime = new AbsenceTimeDC
|
||||||
|
{
|
||||||
|
EmployeeOid = employee.EmployeeOid,
|
||||||
|
Reason = absenceReason,
|
||||||
|
Start = start,
|
||||||
|
End = end,
|
||||||
|
Notice = notice
|
||||||
|
};
|
||||||
|
|
||||||
|
OperationsService.InsertNewEmployeeAbsenceTime(employee.EmployeeOid.Value, absenceTime);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
selectedAbsenceTime.Start = start;
|
||||||
|
selectedAbsenceTime.End = end;
|
||||||
|
selectedAbsenceTime.Reason = absenceReason;
|
||||||
|
selectedAbsenceTime.Notice = notice;
|
||||||
|
|
||||||
|
OperationsService.UpdateAbsenceTime(selectedAbsenceTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
LoadEmployeeToModel(employee.EmployeeOid);
|
||||||
|
|
||||||
|
Model.SelectedAbsenceTime = null;
|
||||||
|
Model.SelectedAbsenceTimeOid = null;
|
||||||
|
Model.SelectedAbsenceReasonOid = -1;
|
||||||
|
|
||||||
|
return RedirectToActionPermanent("Employee");
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
[HttpPost]
|
||||||
|
public ActionResult SelectAbsenceTime(long absenceTimeOid)
|
||||||
|
{
|
||||||
|
if(Model is null)
|
||||||
|
{
|
||||||
|
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||||
|
return Logout();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(absenceTimeOid == 0)
|
||||||
|
{
|
||||||
|
return RedirectToActionPermanent("Employee", Model);
|
||||||
|
}
|
||||||
|
|
||||||
|
var selectedAbsenceTime = Model.SelectedEmployee.AbsenceTimes.FirstOrDefault(absenceTime => absenceTime.EmployeeOid?.Equals(absenceTimeOid) ?? false);
|
||||||
|
|
||||||
|
if(selectedAbsenceTime is null)
|
||||||
|
{
|
||||||
|
return RedirectToActionPermanent("Employee", Model);
|
||||||
|
}
|
||||||
|
|
||||||
|
Model.SelectedAbsenceTimeOid = absenceTimeOid;
|
||||||
|
Model.SelectedAbsenceReasonOid = selectedAbsenceTime.Reason.AbsenceReasonOid;
|
||||||
|
|
||||||
|
return RedirectToActionPermanent("Employee", Model);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
public string SetSelectedAbsenceTimeOid(long absenceTimeOid)
|
||||||
|
{
|
||||||
|
var selectedAbsenceTime = Model.SelectedEmployee.AbsenceTimes.FirstOrDefault(absenceTime => absenceTime.AbsenceTimeOid?.Equals(absenceTimeOid) ?? false);
|
||||||
|
|
||||||
|
if(selectedAbsenceTime is null)
|
||||||
|
{
|
||||||
|
return "Es ist ein Fehler bei der Auswahl der zu bearbeitenden Abwesenheit aufgetreten.<br />Bitte wenden Sie sich an Ihren Systemadministrator";
|
||||||
|
}
|
||||||
|
|
||||||
|
Model.SelectedAbsenceTimeOid = absenceTimeOid;
|
||||||
|
Model.SelectedAbsenceReasonOid = selectedAbsenceTime.Reason.AbsenceReasonOid;
|
||||||
|
|
||||||
|
return LeerzeichenFuerGetMethoden;
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
public ActionResult LoadAbsenceTimeToForm()
|
||||||
|
{
|
||||||
|
if(Model is null)
|
||||||
|
{
|
||||||
|
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return PartialView("AbsenceTimeFormPartial", Model);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
public string DeselectAbsenceTime()
|
||||||
|
{
|
||||||
|
Model.SelectedAbsenceTimeOid = null;
|
||||||
|
Model.SelectedAbsenceReasonOid = -1;
|
||||||
|
|
||||||
|
return LeerzeichenFuerGetMethoden;
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
public ActionResult DeleteAbsenceTime(long absenceTimeOid)
|
||||||
|
{
|
||||||
|
if(Model is null)
|
||||||
|
{
|
||||||
|
TempData[TempDataConstants.DoLogoutKey] = true;
|
||||||
|
return PartialView("AbsenceTimePartial");
|
||||||
|
}
|
||||||
|
|
||||||
|
var absenceTime2Delete = Model.SelectedEmployee.AbsenceTimes.FirstOrDefault(absenceTime => absenceTime.AbsenceTimeOid?.Equals(absenceTimeOid) ?? false);
|
||||||
|
|
||||||
|
if(absenceTime2Delete is null)
|
||||||
|
{
|
||||||
|
ViewData["AbsenceTimeError"] = "Beim Löschen der Abwesenheit ist ein Fehler aufgetreten!<br/><br/>Bitte wenden Sie sich an Ihren Administrator.";
|
||||||
|
}
|
||||||
|
|
||||||
|
var employee = Model.SelectedEmployee;
|
||||||
|
|
||||||
|
employee.AbsenceTimes.Remove(absenceTime2Delete);
|
||||||
|
|
||||||
|
EmployeeService.UpdateEmployee(employee);
|
||||||
|
|
||||||
|
LoadEmployeeToModel(employee.EmployeeOid);
|
||||||
|
|
||||||
|
return PartialView("AbsenceTimePartial", Model);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
27
BeWoPlanerMobil/Controllers/IAbsenceTimeController.cs
Normal file
27
BeWoPlanerMobil/Controllers/IAbsenceTimeController.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
using System.Web.Mvc;
|
||||||
|
|
||||||
|
namespace BeWoPlanerMobil.Controllers
|
||||||
|
{
|
||||||
|
internal interface IAbsenceTimeController
|
||||||
|
{
|
||||||
|
[Authorize]
|
||||||
|
[HttpPost]
|
||||||
|
ActionResult CreateOrUpdateAbsenceTime(FormCollection formCollection);
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
[HttpPost]
|
||||||
|
ActionResult SelectAbsenceTime(long absenceTimeOid);
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
string SetSelectedAbsenceTimeOid(long absenceTimeOid);
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
ActionResult LoadAbsenceTimeToForm();
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
string DeselectAbsenceTime();
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
ActionResult DeleteAbsenceTime(long absenceTimeOid);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3362,10 +3362,20 @@ namespace BeWoPlanerMobil.Controllers
|
|||||||
return RedirectToMain();
|
return RedirectToMain();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Leitet zur Mitarbeiter-Seite weiter, die bis jetzt aber nur die Abwesenheiten des angemeldeten Mitarbeiters anzeigt
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Aufruf zur Mitarbeiter-Seite</returns>
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public ActionResult RedirectToPersons()
|
public ActionResult RedirectToPersons()
|
||||||
{
|
{
|
||||||
return RedirectToActionPermanent("Person", "Person");
|
return RedirectToActionPermanent("Person", "Person", new { id = Model.LoggedInEmployee?.EmployeeOid });
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
public ActionResult RedirectToEmployees()
|
||||||
|
{
|
||||||
|
return RedirectToActionPermanent("Employee", "Employee", new { id = Model.LoggedInEmployee?.EmployeeOid });
|
||||||
}
|
}
|
||||||
|
|
||||||
[Authorize]
|
[Authorize]
|
||||||
|
|||||||
93
BeWoPlanerMobil/Controllers/PersonController.cs
Normal file
93
BeWoPlanerMobil/Controllers/PersonController.cs
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
using BeWoPlanerMobil.Models;
|
||||||
|
using BeWoPlanerMobil.Service;
|
||||||
|
using DevExpress.Web.Internal.XmlProcessor;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.Mvc;
|
||||||
|
|
||||||
|
namespace BeWoPlanerMobil.Controllers
|
||||||
|
{
|
||||||
|
public class PersonController : AbstractBaseController
|
||||||
|
{
|
||||||
|
public PersonController() { }
|
||||||
|
|
||||||
|
private PersonModel _Model;
|
||||||
|
|
||||||
|
public PersonModel Model
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if(!MobileSessionFacade.IsUserLoggedIn())
|
||||||
|
{
|
||||||
|
Logout();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_Model is null)
|
||||||
|
{
|
||||||
|
_Model = new PersonModel();
|
||||||
|
|
||||||
|
InitModel(_Model);
|
||||||
|
InitViewModel();
|
||||||
|
}
|
||||||
|
|
||||||
|
return _Model;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
public ActionResult Person(long? id)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer"))
|
||||||
|
{
|
||||||
|
return Logout();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(id.HasValue)
|
||||||
|
{
|
||||||
|
LoadPersonToModel(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(Exception exception)
|
||||||
|
{
|
||||||
|
Log.Info("Exception: " + exception.Message + "\n" + exception.StackTrace);
|
||||||
|
if(exception.InnerException != null)
|
||||||
|
{
|
||||||
|
Log.Info("\n\nInnerException: " + exception.InnerException.Message + "\n" + exception.InnerException.StackTrace);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
|
return View(Model);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitViewModel()
|
||||||
|
{
|
||||||
|
if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer"))
|
||||||
|
{
|
||||||
|
Logout();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LoadPersonToModel(long? personOid)
|
||||||
|
{
|
||||||
|
if(personOid is null || (personOid.Value > 0 && false == Model.Persons.Any(p => p.PersonOid.Equals(personOid.Value))))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string SaveCollapsibleStatus(bool isOpen, string identifier)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -51,8 +51,8 @@ namespace BeWoPlanerMobil.Models
|
|||||||
|
|
||||||
public static string TimeOfLastAction
|
public static string TimeOfLastAction
|
||||||
{
|
{
|
||||||
get { return MobileSessionFacade.TimeOfLastAction; }
|
get => MobileSessionFacade.TimeOfLastAction;
|
||||||
set { MobileSessionFacade.TimeOfLastAction = value; }
|
set => MobileSessionFacade.TimeOfLastAction = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool HasRightToInsertRessourceAppointments => CheckRight(UserRightType.KalenderRessourcentermineAnlegen) || CheckRight(UserRightType.CreateAll);
|
public bool HasRightToInsertRessourceAppointments => CheckRight(UserRightType.KalenderRessourcentermineAnlegen) || CheckRight(UserRightType.CreateAll);
|
||||||
@@ -223,6 +223,11 @@ namespace BeWoPlanerMobil.Models
|
|||||||
|
|
||||||
public bool HasRightToViewCustomerDocuments => CheckForAtLeastOneRight(new[] { UserRightType.ViewAll, UserRightType.DokumenteKlienten });
|
public bool HasRightToViewCustomerDocuments => CheckForAtLeastOneRight(new[] { UserRightType.ViewAll, UserRightType.DokumenteKlienten });
|
||||||
|
|
||||||
|
public bool HasRightToViewOwnEmployee => CheckForAtLeastOneRight(new[] { UserRightType.ViewAll, UserRightType.Employee_AllowViewOwnEmployees }) &&
|
||||||
|
CheckForAtLeastOneRight(new[] { UserRightType.EditAll, UserRightType.Employee_AllowEditOwnEmployees });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//public string UserMessage { get; set; }
|
//public string UserMessage { get; set; }
|
||||||
|
|
||||||
public XtraReport Report { get; set; }
|
public XtraReport Report { get; set; }
|
||||||
@@ -260,7 +265,9 @@ namespace BeWoPlanerMobil.Models
|
|||||||
|
|
||||||
public List<CompactPersonDC> Persons { get; set; } = new List<CompactPersonDC>();
|
public List<CompactPersonDC> Persons { get; set; } = new List<CompactPersonDC>();
|
||||||
|
|
||||||
public Dictionary<string, bool> Collapsibles2IsShown { get => SessionModel.Collapsibles2IsShown;
|
public Dictionary<string, bool> Collapsibles2IsShown
|
||||||
|
{
|
||||||
|
get => SessionModel.Collapsibles2IsShown;
|
||||||
set => SessionModel.Collapsibles2IsShown = value;
|
set => SessionModel.Collapsibles2IsShown = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,23 +11,29 @@ using DevExpress.XtraReports.UI;
|
|||||||
|
|
||||||
namespace BeWoPlanerMobil.Models
|
namespace BeWoPlanerMobil.Models
|
||||||
{
|
{
|
||||||
public class CustomerModel : AbstractModel, ISignable
|
public class CustomerModel : AbstractModel, ISignable, IAbsenceTimeModel
|
||||||
{
|
{
|
||||||
|
public string HtmlPrefix => "customer";
|
||||||
|
|
||||||
|
public IAbsenceTime AbsenceTimeObject
|
||||||
|
{
|
||||||
|
get => SelectedCustomer;
|
||||||
|
set => SelectedCustomer = (CustomerDC) value;
|
||||||
|
}
|
||||||
|
|
||||||
public CustomerModel()
|
public CustomerModel()
|
||||||
{
|
{
|
||||||
SessionModel = new CustomerSessionModel();
|
SessionModel = new CustomerSessionModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
public CustomerSessionModel CustomerSessionModel
|
public CustomerSessionModel CustomerSessionModel => SessionModel as CustomerSessionModel;
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return SessionModel as CustomerSessionModel;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Display(Name = "Klient")]
|
[Display(Name = "Klient")]
|
||||||
public long? SelectedCustomerOid { get { return CustomerSessionModel.SelectedCustomerOid; } set { CustomerSessionModel.SelectedCustomerOid = value; } }
|
public long? SelectedCustomerOid
|
||||||
|
{
|
||||||
|
get => CustomerSessionModel.SelectedAbsenceTimeObjectOid;
|
||||||
|
set => CustomerSessionModel.SelectedAbsenceTimeObjectOid = value;
|
||||||
|
}
|
||||||
|
|
||||||
public CustomerDC SelectedCustomer { get; set; }
|
public CustomerDC SelectedCustomer { get; set; }
|
||||||
|
|
||||||
@@ -47,7 +53,11 @@ namespace BeWoPlanerMobil.Models
|
|||||||
public JsonCustomer SelectedJsonCustomer => SelectedCustomer != null ? new JsonCustomer(SelectedCustomer, FolderTree, ICD10Diagnosen) : null;
|
public JsonCustomer SelectedJsonCustomer => SelectedCustomer != null ? new JsonCustomer(SelectedCustomer, FolderTree, ICD10Diagnosen) : null;
|
||||||
|
|
||||||
[Display(Name = "Filter")]
|
[Display(Name = "Filter")]
|
||||||
public CustomerFilterEnum SelectedCustomerFilter { get { return CustomerSessionModel.SelectedCustomerFilter; } set { CustomerSessionModel.SelectedCustomerFilter = value; } }
|
public CustomerFilterEnum SelectedCustomerFilter
|
||||||
|
{
|
||||||
|
get => CustomerSessionModel.SelectedCustomerFilter;
|
||||||
|
set => CustomerSessionModel.SelectedCustomerFilter = value;
|
||||||
|
}
|
||||||
|
|
||||||
public List<SelectListItem> CustomerFilter
|
public List<SelectListItem> CustomerFilter
|
||||||
{
|
{
|
||||||
@@ -93,7 +103,11 @@ namespace BeWoPlanerMobil.Models
|
|||||||
public List<CustomerReportType> ReportTypes { get; set; }
|
public List<CustomerReportType> ReportTypes { get; set; }
|
||||||
|
|
||||||
[Display(Name = "Bericht")]
|
[Display(Name = "Bericht")]
|
||||||
public CustomerReportType SelectedReportType { get { return CustomerSessionModel.SelectedReportType; } set { CustomerSessionModel.SelectedReportType = value; } }
|
public CustomerReportType SelectedReportType
|
||||||
|
{
|
||||||
|
get => CustomerSessionModel.SelectedReportType;
|
||||||
|
set => CustomerSessionModel.SelectedReportType = value;
|
||||||
|
}
|
||||||
|
|
||||||
public List<SelectListItem> ReportTypeItems
|
public List<SelectListItem> ReportTypeItems
|
||||||
{
|
{
|
||||||
@@ -117,7 +131,11 @@ namespace BeWoPlanerMobil.Models
|
|||||||
public List<BargeldkassenDC> Bargeldkassen { get; set; } = new List<BargeldkassenDC>();
|
public List<BargeldkassenDC> Bargeldkassen { get; set; } = new List<BargeldkassenDC>();
|
||||||
|
|
||||||
[Display(Name = "Kategorie")]
|
[Display(Name = "Kategorie")]
|
||||||
public long? SelectedAbsenceReasonOid { get { return CustomerSessionModel.SelectedAbsenceReasonOid; } set { CustomerSessionModel.SelectedAbsenceReasonOid = value; } }
|
public long? SelectedAbsenceReasonOid
|
||||||
|
{
|
||||||
|
get => CustomerSessionModel.SelectedAbsenceReasonOid;
|
||||||
|
set => CustomerSessionModel.SelectedAbsenceReasonOid = value;
|
||||||
|
}
|
||||||
|
|
||||||
public List<AbsenceReasonDC> AllAbsenceReasons { get; set; }
|
public List<AbsenceReasonDC> AllAbsenceReasons { get; set; }
|
||||||
|
|
||||||
@@ -145,7 +163,11 @@ namespace BeWoPlanerMobil.Models
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public long? SelectedAbsenceTimeOid { get { return CustomerSessionModel.SelectedAbsenceTimeOid; } set { CustomerSessionModel.SelectedAbsenceTimeOid = value; } }
|
public long? SelectedAbsenceTimeOid
|
||||||
|
{
|
||||||
|
get => CustomerSessionModel.SelectedAbsenceTimeOid;
|
||||||
|
set => CustomerSessionModel.SelectedAbsenceTimeOid = value;
|
||||||
|
}
|
||||||
|
|
||||||
public AbsenceTimeDC SelectedAbsenceTime { get; set; }
|
public AbsenceTimeDC SelectedAbsenceTime { get; set; }
|
||||||
//{
|
//{
|
||||||
@@ -157,19 +179,28 @@ namespace BeWoPlanerMobil.Models
|
|||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
public long? SelectedBargeldkasseOid { get { return CustomerSessionModel.SelectedBargeldkasseOid; } set { CustomerSessionModel.SelectedBargeldkasseOid = value; } }
|
public long? SelectedBargeldkasseOid
|
||||||
|
{
|
||||||
|
get => CustomerSessionModel.SelectedBargeldkasseOid;
|
||||||
|
set => CustomerSessionModel.SelectedBargeldkasseOid = value;
|
||||||
|
}
|
||||||
|
|
||||||
public BargeldkassenDC SelectedBargeldkasse { get; set; }
|
public BargeldkassenDC SelectedBargeldkasse { get; set; }
|
||||||
|
|
||||||
[Display(Name="Auszahlunsintervall")]
|
[Display(Name = "Auszahlunsintervall")]
|
||||||
public int SelectedAuszahlungsintervall { get { return CustomerSessionModel.SelectedAuszahlungsintervall; } set { CustomerSessionModel.SelectedAuszahlungsintervall = value; } }
|
public int SelectedAuszahlungsintervall
|
||||||
public List<SelectListItem> Auszahlungsintervalle =>
|
{
|
||||||
|
get => CustomerSessionModel.SelectedAuszahlungsintervall;
|
||||||
|
set => CustomerSessionModel.SelectedAuszahlungsintervall = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<SelectListItem> Auszahlungsintervalle =>
|
||||||
new List<SelectListItem>
|
new List<SelectListItem>
|
||||||
{
|
{
|
||||||
new SelectListItem{Value = ((int) Auszahlungsintervall.Kein).ToString(), Text = "Kein"},
|
new SelectListItem { Value = ((int) Auszahlungsintervall.Kein).ToString(), Text = "Kein" },
|
||||||
new SelectListItem{Value = ((int) Auszahlungsintervall.Monatlich).ToString(), Text = "Monatlich"},
|
new SelectListItem { Value = ((int) Auszahlungsintervall.Monatlich).ToString(), Text = "Monatlich" },
|
||||||
new SelectListItem{Value = ((int) Auszahlungsintervall.Woechentlich).ToString(), Text = "Wöchentlich"},
|
new SelectListItem { Value = ((int) Auszahlungsintervall.Woechentlich).ToString(), Text = "Wöchentlich" },
|
||||||
new SelectListItem{Value = ((int) Auszahlungsintervall.Taeglich).ToString(), Text = "Täglich"},
|
new SelectListItem { Value = ((int) Auszahlungsintervall.Taeglich).ToString(), Text = "Täglich" }
|
||||||
};
|
};
|
||||||
|
|
||||||
public XtraReport BargeldkassenReportObject { get; set; }
|
public XtraReport BargeldkassenReportObject { get; set; }
|
||||||
@@ -177,17 +208,26 @@ namespace BeWoPlanerMobil.Models
|
|||||||
|
|
||||||
public XtraReport ZahlungsbelegsReportObject { get; set; }
|
public XtraReport ZahlungsbelegsReportObject { get; set; }
|
||||||
|
|
||||||
public long? SelectedBargeldtransaktionOid { get { return CustomerSessionModel.SelectedBargeldtransaktionOid; } set { CustomerSessionModel.SelectedBargeldtransaktionOid = value; } }
|
public long? SelectedBargeldtransaktionOid
|
||||||
|
{
|
||||||
|
get => CustomerSessionModel.SelectedBargeldtransaktionOid;
|
||||||
|
set => CustomerSessionModel.SelectedBargeldtransaktionOid = value;
|
||||||
|
}
|
||||||
|
|
||||||
public BargeldtransaktionDC SelectedBargeldtransaktion { get; set; }
|
public BargeldtransaktionDC SelectedBargeldtransaktion { get; set; }
|
||||||
|
|
||||||
[Display(Name = "Art")]
|
[Display(Name = "Art")]
|
||||||
public int SelectedTransaktionsart { get { return CustomerSessionModel.SelectedTransaktionsart; } set { CustomerSessionModel.SelectedTransaktionsart = value; } }
|
public int SelectedTransaktionsart
|
||||||
|
{
|
||||||
|
get => CustomerSessionModel.SelectedTransaktionsart;
|
||||||
|
set => CustomerSessionModel.SelectedTransaktionsart = value;
|
||||||
|
}
|
||||||
|
|
||||||
public List<SelectListItem> Transaktionsarten =>
|
public List<SelectListItem> Transaktionsarten =>
|
||||||
new List<SelectListItem>
|
new List<SelectListItem>
|
||||||
{
|
{
|
||||||
new SelectListItem{Value=((int) Zahlungstyp.Einzahlung).ToString(), Text = "Einzahlung"},
|
new SelectListItem { Value = ((int) Zahlungstyp.Einzahlung).ToString(), Text = "Einzahlung" },
|
||||||
new SelectListItem{Value=((int) Zahlungstyp.Auszahlung).ToString(), Text = "Auszahlung"}
|
new SelectListItem { Value = ((int) Zahlungstyp.Auszahlung).ToString(), Text = "Auszahlung" }
|
||||||
};
|
};
|
||||||
|
|
||||||
public List<BargeldtransaktionshistoryDC> BargeldtransaktionshistoryEntries { get; set; } = new List<BargeldtransaktionshistoryDC>();
|
public List<BargeldtransaktionshistoryDC> BargeldtransaktionshistoryEntries { get; set; } = new List<BargeldtransaktionshistoryDC>();
|
||||||
|
|||||||
@@ -1,23 +1,13 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Web.Mvc;
|
|
||||||
using BeWo.View.Navigation.Filter;
|
using BeWo.View.Navigation.Filter;
|
||||||
using BeWoPlanerMobil.Controllers;
|
using BeWoPlanerMobil.Controllers;
|
||||||
using BeWoPlanerMobil.Service;
|
|
||||||
using BeWoPlanerMobil.Util;
|
|
||||||
using BS.Shared;
|
|
||||||
using BS.Shared.DataContracts;
|
|
||||||
using BS.Shared.DataContracts.Compact;
|
|
||||||
using DevExpress.XtraReports.UI;
|
|
||||||
|
|
||||||
namespace BeWoPlanerMobil.Models
|
namespace BeWoPlanerMobil.Models
|
||||||
{
|
{
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class CustomerSessionModel : BaseSessionModel
|
public class CustomerSessionModel : BaseSessionModel, IAbsenceTimeSessionModel
|
||||||
{
|
{
|
||||||
public long? SelectedCustomerOid { get; set; }
|
public long? SelectedAbsenceTimeObjectOid { get; set; }
|
||||||
|
|
||||||
public CustomerFilterEnum SelectedCustomerFilter { get; set; }
|
public CustomerFilterEnum SelectedCustomerFilter { get; set; }
|
||||||
|
|
||||||
@@ -39,7 +29,7 @@ namespace BeWoPlanerMobil.Models
|
|||||||
{
|
{
|
||||||
base.ResetValues();
|
base.ResetValues();
|
||||||
|
|
||||||
SelectedCustomerOid = null;
|
SelectedAbsenceTimeObjectOid = null;
|
||||||
//SelectedCustomerFilter = CustomerFilterEnum.All;
|
//SelectedCustomerFilter = CustomerFilterEnum.All;
|
||||||
//SelectedReportType = CustomerReportType.Medikamentenliste;
|
//SelectedReportType = CustomerReportType.Medikamentenliste;
|
||||||
SelectedAbsenceReasonOid = null;
|
SelectedAbsenceReasonOid = null;
|
||||||
|
|||||||
75
BeWoPlanerMobil/Models/EmployeeModel.cs
Normal file
75
BeWoPlanerMobil/Models/EmployeeModel.cs
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
BeWoPlanerMobil/Models/EmployeeSessionModel.cs
Normal file
21
BeWoPlanerMobil/Models/EmployeeSessionModel.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace BeWoPlanerMobil.Models
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
public class EmployeeSessionModel : BaseSessionModel, IAbsenceTimeSessionModel
|
||||||
|
{
|
||||||
|
public long? SelectedAbsenceTimeObjectOid { get; set; }
|
||||||
|
public long? SelectedAbsenceReasonOid { get; set; }
|
||||||
|
public long? SelectedAbsenceTimeOid { get; set; }
|
||||||
|
|
||||||
|
public override void ResetValues()
|
||||||
|
{
|
||||||
|
base.ResetValues();
|
||||||
|
|
||||||
|
SelectedAbsenceTimeObjectOid = null;
|
||||||
|
SelectedAbsenceReasonOid = null;
|
||||||
|
SelectedAbsenceTimeOid = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
17
BeWoPlanerMobil/Models/IAbsenceTimeModel.cs
Normal file
17
BeWoPlanerMobil/Models/IAbsenceTimeModel.cs
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
using BS.Shared.DataContracts;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Web.Mvc;
|
||||||
|
|
||||||
|
namespace BeWoPlanerMobil.Models
|
||||||
|
{
|
||||||
|
public interface IAbsenceTimeModel
|
||||||
|
{
|
||||||
|
string HtmlPrefix { get; }
|
||||||
|
long? SelectedAbsenceTimeOid { get; set; }
|
||||||
|
long? SelectedAbsenceReasonOid { get; set; }
|
||||||
|
AbsenceTimeDC SelectedAbsenceTime { get; set; }
|
||||||
|
IAbsenceTime AbsenceTimeObject { get; set; }
|
||||||
|
Dictionary<string, bool> Collapsibles2IsShown { get; set; }
|
||||||
|
List<SelectListItem> AbsenceReasonItems { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
7
BeWoPlanerMobil/Models/IAbsenceTimeSessionModel.cs
Normal file
7
BeWoPlanerMobil/Models/IAbsenceTimeSessionModel.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace BeWoPlanerMobil.Models
|
||||||
|
{
|
||||||
|
internal interface IAbsenceTimeSessionModel
|
||||||
|
{
|
||||||
|
long? SelectedAbsenceTimeObjectOid { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
30
BeWoPlanerMobil/Models/PersonModel.cs
Normal file
30
BeWoPlanerMobil/Models/PersonModel.cs
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Web;
|
||||||
|
using BS.Shared.DataContracts;
|
||||||
|
|
||||||
|
namespace BeWoPlanerMobil.Models
|
||||||
|
{
|
||||||
|
public class PersonModel : AbstractModel
|
||||||
|
{
|
||||||
|
public PersonModel()
|
||||||
|
{
|
||||||
|
SessionModel = new PersonSessionModel();
|
||||||
|
}
|
||||||
|
|
||||||
|
public PersonSessionModel PersonSessionModel => SessionModel as PersonSessionModel;
|
||||||
|
|
||||||
|
[Display(Name = "Person")]
|
||||||
|
public long? SelectedPersonOid
|
||||||
|
{
|
||||||
|
get => PersonSessionModel.SelectedPersonOid;
|
||||||
|
set => PersonSessionModel.SelectedPersonOid = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PersonDC SelectedPerson { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
20
BeWoPlanerMobil/Models/PersonSessionModel.cs
Normal file
20
BeWoPlanerMobil/Models/PersonSessionModel.cs
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Web;
|
||||||
|
|
||||||
|
namespace BeWoPlanerMobil.Models
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
public class PersonSessionModel : BaseSessionModel
|
||||||
|
{
|
||||||
|
public long? SelectedPersonOid { get; set; }
|
||||||
|
|
||||||
|
public override void ResetValues()
|
||||||
|
{
|
||||||
|
base.ResetValues();
|
||||||
|
|
||||||
|
SelectedPersonOid = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
using System.Web.Mvc;
|
namespace BeWoPlanerMobil.Util
|
||||||
using BS.Shared;
|
|
||||||
|
|
||||||
namespace BeWoPlanerMobil.Util
|
|
||||||
{
|
{
|
||||||
internal interface ISignable
|
internal interface ISignable
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -496,7 +496,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-sm-12 col-md-6 col-lg-12 mt-2 px-1">
|
<div class="col-sm-12 col-md-6 col-lg-12 mt-2 px-1">
|
||||||
<div class="card w-100 h-100">
|
<div class="card w-100 h-100">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
@@ -803,32 +803,32 @@
|
|||||||
@* ----- Dokumente ----- *@
|
@* ----- Dokumente ----- *@
|
||||||
if(Model.HasRightToViewCustomerDocuments)
|
if(Model.HasRightToViewCustomerDocuments)
|
||||||
{
|
{
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card w-100 h-100 my-1">
|
<div class="card w-100 h-100 my-1">
|
||||||
<div class="card-header" onclick="cardHeaderClick2(this)">
|
<div class="card-header" onclick="cardHeaderClick2(this)">
|
||||||
<div class="d-inline-flex">
|
<div class="d-inline-flex">
|
||||||
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header"></i>
|
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
|
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
|
||||||
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
|
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
|
||||||
Dokumente
|
Dokumente
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, "customer-documents-collapsible")" id="customer-documents-collapsible">
|
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, "customer-documents-collapsible")" id="customer-documents-collapsible">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="container-fluid px-0" id="customer-document-container">
|
<div class="container-fluid px-0" id="customer-document-container">
|
||||||
@Html.Partial("DocumentPartial", Model)
|
@Html.Partial("DocumentPartial", Model)
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
@* ----- Medikamentenliste ----- *@
|
@* ----- Medikamentenliste ----- *@
|
||||||
if (Model.IsAllowedToSeeMedikamentenliste && Model.SelectedCustomer.Medikamentenverordnungslisten.Any())
|
if(Model.IsAllowedToSeeMedikamentenliste && Model.SelectedCustomer.Medikamentenverordnungslisten.Any())
|
||||||
{
|
{
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card w-100 h-100 my-1">
|
<div class="card w-100 h-100 my-1">
|
||||||
<div class="card-header" onclick="cardHeaderClick2(this)">
|
<div class="card-header" onclick="cardHeaderClick2(this)">
|
||||||
@@ -1028,13 +1028,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, "customer-abwesenheiten-collapsible")" id="customer-abwesenheiten-collapsible">
|
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, "customer-abwesenheiten-collapsible")" id="customer-abwesenheiten-collapsible">
|
||||||
<div class="card-body">
|
<div class="card-body p-2">
|
||||||
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#customer-absence-times-form-popup" onclick="calcAbsenceTimePrependWidth()">
|
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#customer-absence-times-form-popup" onclick="calcAbsenceTimePrependWidth()">
|
||||||
Abwesenheit hinzufügen
|
Abwesenheit hinzufügen
|
||||||
</button>
|
</button>
|
||||||
<hr />
|
<hr class="my-2" />
|
||||||
<div id="absence-times-container">
|
<div id="absence-times-container">
|
||||||
@Html.Partial("CustomerAbsenceTimePartial", Model)
|
@Html.Partial("AbsenceTimePartial", Model)
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1060,7 +1060,7 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, "customer-betreuung-collapsible")", id="customer-betreuung-collapsible">
|
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, "customer-betreuung-collapsible")" , id="customer-betreuung-collapsible">
|
||||||
<div class="card-body p-1">
|
<div class="card-body p-1">
|
||||||
<div id="betreuungscontainer">
|
<div id="betreuungscontainer">
|
||||||
@Html.Partial("CustomerBetreuungPartial", Model)
|
@Html.Partial("CustomerBetreuungPartial", Model)
|
||||||
@@ -1085,11 +1085,11 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body p-2" id="customer-absence-time-modal-body">
|
<div class="modal-body p-2" id="customer-absence-time-modal-body">
|
||||||
@Html.Partial("CustomerAbsenceTimeFormPartial", Model)
|
@Html.Partial("AbsenceTimeFormPartial", Model)
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer p-2">
|
<div class="modal-footer p-2">
|
||||||
<button class="btn btn-primary" type="button" onclick="submitCustomerAbsenceTimesForm()">OK</button>
|
<button class="btn btn-primary" type="button" onclick="submitAbsenceTimesForm()">OK</button>
|
||||||
<button class="btn btn-secondary" type="button" data-dismiss="modal" onclick="clearCustomerAbsenceTimesForm()">Abbrechen</button>
|
<button class="btn btn-secondary" type="button" data-dismiss="modal" onclick="clearAbsenceTimesForm()">Abbrechen</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,233 +0,0 @@
|
|||||||
@using BeWoPlanerMobil.Models;
|
|
||||||
@using BS.Shared.Extensions
|
|
||||||
|
|
||||||
@model CustomerModel
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
var initialDatePrependWidth = 0;
|
|
||||||
function calcAbsenceTimePrependWidth() {
|
|
||||||
try {
|
|
||||||
setTimeout(function () {
|
|
||||||
if(initialDatePrependWidth <= 0 && $.isNumeric(getMaxWidth("customer-absence-time-prepend"))) {
|
|
||||||
initialDatePrependWidth = getMaxWidth("customer-absence-time-prepend");
|
|
||||||
}
|
|
||||||
|
|
||||||
if(initialDatePrependWidth <= 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$(".customer-absence-time-prepend").width(getMaxWidth("customer-absence-time-prepend"));
|
|
||||||
});
|
|
||||||
} catch(error) {
|
|
||||||
showErrorPopup(error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function validateAbsenceTimeForm() {
|
|
||||||
try {
|
|
||||||
$("#form-validation-result-column").addClass("d-none");
|
|
||||||
$("#form-validation-result-container").html("");
|
|
||||||
|
|
||||||
let validationMessage = "";
|
|
||||||
|
|
||||||
const allDay = $("#customer-absence-time-allday-cb").is(":checked");
|
|
||||||
|
|
||||||
const startDateString = $("#customer-absence-time-start-date-input").val();
|
|
||||||
const endDateString = $("#customer-absence-time-end-date-input").val(); // z.B. 2025-05-20
|
|
||||||
const startTimeString = $("#customer-absence-time-start-time-input").val(); // z.B. 09:17
|
|
||||||
const endTimeString = $("#customer-absence-time-end-time-input").val();
|
|
||||||
|
|
||||||
const isInfinite = endDateString.length === 0 && endTimeString.length === 0;
|
|
||||||
|
|
||||||
const start = allDay ? new Date(startDateString) : combineDateAndTime(new Date(startDateString), startTimeString);
|
|
||||||
const end = allDay ? new Date(endDateString) : combineDateAndTime(new Date(endDateString), endTimeString);
|
|
||||||
|
|
||||||
const isStartValid = false === isNaN(start.getTime());
|
|
||||||
const isEndValid = false === isNaN(end.getTime()) || isInfinite;
|
|
||||||
|
|
||||||
if(!isStartValid || !isEndValid) {
|
|
||||||
return "Die Datumsangaben sind ungültig!";
|
|
||||||
}
|
|
||||||
|
|
||||||
const selectedOption = $("#absence-reason-select option:selected");
|
|
||||||
|
|
||||||
if(!isInfinite && end.getTime() < start.getTime()) {
|
|
||||||
validationMessage = "Das Startdatum muss vor dem Enddatum liegen.";
|
|
||||||
}
|
|
||||||
|
|
||||||
if(selectedOption.val() === "-1") {
|
|
||||||
if(validationMessage.length === 0) {
|
|
||||||
validationMessage = "Die Kategorie darf nicht leer sein.";
|
|
||||||
} else {
|
|
||||||
validationMessage += "<br />Die Kategorie darf nicht leer sein.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return validationMessage;
|
|
||||||
} catch(error) {
|
|
||||||
showErrorPopup(error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleAllDay() {
|
|
||||||
try {
|
|
||||||
const checkbox = $("#customer-absence-time-allday-cb");
|
|
||||||
const isChecked = checkbox.is(":checked");
|
|
||||||
|
|
||||||
if(isChecked === true) {
|
|
||||||
$("#customer-absence-time-start-time-input, #customer-absence-time-end-time-input").val(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#customer-absence-time-start-time-input, #customer-absence-time-end-time-input").prop("disabled", isChecked);
|
|
||||||
} catch(error) {
|
|
||||||
showErrorPopup(error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function submitCustomerAbsenceTimesForm() {
|
|
||||||
try {
|
|
||||||
const validationMessage = validateAbsenceTimeForm();
|
|
||||||
|
|
||||||
if(validationMessage !== undefined && validationMessage !== null && validationMessage.length > 0) {
|
|
||||||
$("#form-validation-result-row").removeClass("d-none");
|
|
||||||
$("#form-validation-result-container").html(validationMessage);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
showSpinner();
|
|
||||||
$("#create-absence-time-form").submit();
|
|
||||||
$("#customer-absence-times-form-popup").modal("hide");
|
|
||||||
} catch(error) {
|
|
||||||
showErrorPopup(error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function clearCustomerAbsenceTimesForm() {
|
|
||||||
try {
|
|
||||||
$("#customer-absence-time-notice, #customer-absence-time-start-date, #customer-absence-time-end-date, #customer-absence-time-start-time, #customer-absence-time-end-time").val("");
|
|
||||||
$.get("@Url.Action("DeselectAbsenceTime")");
|
|
||||||
//$.get("@Url.Action("DeselectAbsenceTime")").done(function() {
|
|
||||||
// $("#customer-absence-time-modal-body").load('@Url.Action("LoadAbsenceTimeToForm", "Customer")').load();
|
|
||||||
//});
|
|
||||||
} catch(error) {
|
|
||||||
showErrorPopup(error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
@using(Html.BeginForm("CreateOrUpdateAbsenceTime", "Customer", FormMethod.Post, new { id = "create-absence-time-form" }))
|
|
||||||
{
|
|
||||||
var isAllDay = Model.SelectedAbsenceTime?.Start?.IsTimeZero() ?? true;
|
|
||||||
var allDay = isAllDay ? "checked" : "";
|
|
||||||
var isDisabled = isAllDay ? "disabled" : "";
|
|
||||||
var startDate = Model.SelectedAbsenceTime?.Start?.ToString("yyyy-MM-dd");
|
|
||||||
var endDate = Model.SelectedAbsenceTime?.End?.ToString("yyyy-MM-dd");
|
|
||||||
var startTime = Model.SelectedAbsenceTime?.Start?.ToString("HH:mm");
|
|
||||||
var endTime = Model.SelectedAbsenceTime?.End?.ToString("HH:mm");
|
|
||||||
|
|
||||||
if(startTime?.Equals("00:00") ?? false)
|
|
||||||
{
|
|
||||||
startTime = string.Empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(endTime?.Equals("00:00") ?? false)
|
|
||||||
{
|
|
||||||
endTime = string.Empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
<input type="hidden" name="customer-absence-time-oid" value="@Model.SelectedAbsenceTime?.AbsenceTimeOid" />
|
|
||||||
|
|
||||||
<div class="form-row d-none" id="form-validation-result-row">
|
|
||||||
<div class="col-12">
|
|
||||||
<div class="alert alert-danger mb-0" role="alert" id="form-validation-result-container"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
@* Neue Datums- und Zeitinputs *@
|
|
||||||
<div class="form-row">
|
|
||||||
<div class="col-md-6 mt-2">
|
|
||||||
<div class="input-group">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text">
|
|
||||||
Startdatum
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<input type="date" value="@startDate" class="form-control" id="customer-absence-time-start-date-input" name="customer-absence-time-start-date" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 mt-2">
|
|
||||||
<div class="input-group">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text">
|
|
||||||
Enddatum
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<input type="date" value="@endDate" class="form-control" id="customer-absence-time-end-date-input" name="customer-absence-time-end-date" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-row">
|
|
||||||
<div class="col-md-6 mt-2">
|
|
||||||
<div class="input-group">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text">
|
|
||||||
Von
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<input type="time" class="form-control" id="customer-absence-time-start-time-input" name="customer-absence-time-start-time" @isDisabled value="@startTime" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 mt-2">
|
|
||||||
<div class="input-group">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text">
|
|
||||||
Bis
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<input type="time" class="form-control" id="customer-absence-time-end-time-input" name="customer-absence-time-end-time" @isDisabled value="@endTime" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@* /Neue Datums- und Zeitinputs *@
|
|
||||||
|
|
||||||
<div class="form-row">
|
|
||||||
<div class="col-md py-1">
|
|
||||||
<div class="custom-control custom-checkbox custom-control-inline">
|
|
||||||
<input type="checkbox" class="custom-control-input" name="customer-absence-time-allday-cb" id="customer-absence-time-allday-cb" onclick="toggleAllDay()" @allDay />
|
|
||||||
<label class="custom-control-label" for="customer-absence-time-allday-cb">ganztägig</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-row">
|
|
||||||
<div class="col-md">
|
|
||||||
<div class="form-group mb-2 mt-0">
|
|
||||||
<div class="input-group">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<div class="input-group-text customer-absence-time-prepend">
|
|
||||||
Kategorie
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@Html.DropDownListFor(m => m.SelectedAbsenceReasonOid, Model.AbsenceReasonItems, new { @class = "custom-select", Id = "absence-reason-select", Name = "customer-absence-time-category" })
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-row">
|
|
||||||
<div class="col-md">
|
|
||||||
<div class="form-group mb-1">
|
|
||||||
<div class="input-group">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<div class="input-group-text customer-absence-time-prepend">
|
|
||||||
Erläuterung
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<textarea class="form-control" autocomplete="on" id="customer-absence-time-notice" name="customer-absence-time-notice" maxlength="1024">@(Model.SelectedAbsenceTime?.Notice ?? string.Empty)</textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
81
BeWoPlanerMobil/Views/Employee/Employee.cshtml
Normal file
81
BeWoPlanerMobil/Views/Employee/Employee.cshtml
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
@using BeWoPlanerMobil.Util
|
||||||
|
@model BeWoPlanerMobil.Models.EmployeeModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = "Mitarbeiter";
|
||||||
|
|
||||||
|
var selectedEmployeeName = Model.SelectedEmployee.FirstName + " " + Model.SelectedEmployee.LastName;
|
||||||
|
}
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
$(".collapse").on("shown.bs.collapse", function () {
|
||||||
|
window.saveCollapsibleState($(this).attr("id"), "@Url.Action("SaveCollapsibleStatus")");
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".collapse").on("hidden.bs.collapse", function() {
|
||||||
|
window.saveCollapsibleState($(this).attr("id"), "@Url.Action("SaveCollapsibleStatus")");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="container-fluid mt-1 px-0 lg-max-width">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
@selectedEmployeeName
|
||||||
|
</div>
|
||||||
|
<div class="card-body p-2">
|
||||||
|
@if(Model.HasRightToViewOwnEmployee)
|
||||||
|
{
|
||||||
|
<div class="card w-100 h-100 my-1">
|
||||||
|
<div class="card-header" onclick="cardHeaderClick2(this)">
|
||||||
|
<div class="d-inline-flex">
|
||||||
|
<i class="fas fa-chevron-down h-100 text-bewo-employee-card-header"></i>
|
||||||
|
</div>
|
||||||
|
<div class="d-inline d-inline-flex text-bewo-employee-card-header h-100">
|
||||||
|
<button type="button" class="btn btn-link text-bewo-employee-card-header" style="font-size: 20px;">
|
||||||
|
Abwesenheiten
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, "employee-abwesenheiten-collapsible")" id="employee-abwesenheiten-collapsible">
|
||||||
|
<div class="card-body p-2">
|
||||||
|
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#employee-absence-times-form-popup" onclick="calcAbsenceTimePrependWidth()">
|
||||||
|
Abwesenheit hinzufügen
|
||||||
|
</button>
|
||||||
|
<hr class="my-2"/>
|
||||||
|
<div id="absence-times-container">
|
||||||
|
@Html.Partial("AbsenceTimePartial", Model)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@if(Model.HasRightToViewOwnEmployee)
|
||||||
|
{
|
||||||
|
<div class="modal" tabindex="-1" role="dialog" id="employee-absence-times-form-popup">
|
||||||
|
<div class="modal-dialog modal-lg" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title font-weight-bold">Abwesenheit hinzufügen</h5>
|
||||||
|
<button class="close" type="button" data-dismiss="modal">
|
||||||
|
<span>×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body p-2" id="employee-absence-time-modal-body">
|
||||||
|
@Html.Partial("AbsenceTimeFormPartial", Model)
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer p-2">
|
||||||
|
<button class="btn btn-primary" type="button" onclick="submitAbsenceTimesForm()">OK</button>
|
||||||
|
<button class="btn btn-secondary" type="button" data-dismiss="modal" onclick="clearAbsenceTimesForm()">Abbrechen</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
1
BeWoPlanerMobil/Views/Person/Person.cshtml
Normal file
1
BeWoPlanerMobil/Views/Person/Person.cshtml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@model BeWoPlanerMobil.Models.PersonModel
|
||||||
237
BeWoPlanerMobil/Views/Shared/AbsenceTimeFormPartial.cshtml
Normal file
237
BeWoPlanerMobil/Views/Shared/AbsenceTimeFormPartial.cshtml
Normal file
@@ -0,0 +1,237 @@
|
|||||||
|
@using BeWoPlanerMobil.Models;
|
||||||
|
@using BS.Shared.Extensions
|
||||||
|
|
||||||
|
@model IAbsenceTimeModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
var controllerName = Model is EmployeeModel ? "Employee" : "Customer";
|
||||||
|
var prefix = Model.HtmlPrefix;
|
||||||
|
}
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var initialDatePrependWidth = 0;
|
||||||
|
function calcAbsenceTimePrependWidth() {
|
||||||
|
try {
|
||||||
|
setTimeout(function () {
|
||||||
|
if(initialDatePrependWidth <= 0 && $.isNumeric(getMaxWidth(`absence-time-prepend`))) {
|
||||||
|
initialDatePrependWidth = getMaxWidth(`absence-time-prepend`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(initialDatePrependWidth <= 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$(`.absence-time-prepend`).width(getMaxWidth(`absence-time-prepend`));
|
||||||
|
});
|
||||||
|
} catch(error) {
|
||||||
|
showErrorPopup(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function validateAbsenceTimeForm() {
|
||||||
|
try {
|
||||||
|
$("#form-validation-result-column").addClass("d-none");
|
||||||
|
$("#form-validation-result-container").html("");
|
||||||
|
|
||||||
|
let validationMessage = "";
|
||||||
|
|
||||||
|
const allDay = $(`#@Model.HtmlPrefix-absence-time-allday-cb`).is(":checked");
|
||||||
|
|
||||||
|
const startDateString = $(`#@Model.HtmlPrefix-absence-time-start-date-input`).val();
|
||||||
|
const endDateString = $(`#@Model.HtmlPrefix-absence-time-end-date-input`).val(); // z.B. 2025-05-20
|
||||||
|
const startTimeString = $(`#@Model.HtmlPrefix-absence-time-start-time-input`).val(); // z.B. 09:17
|
||||||
|
const endTimeString = $(`#@Model.HtmlPrefix-absence-time-end-time-input`).val();
|
||||||
|
|
||||||
|
const isInfinite = endDateString.length === 0 && endTimeString.length === 0;
|
||||||
|
|
||||||
|
const start = allDay ? new Date(startDateString) : combineDateAndTime(new Date(startDateString), startTimeString);
|
||||||
|
const end = allDay ? new Date(endDateString) : combineDateAndTime(new Date(endDateString), endTimeString);
|
||||||
|
|
||||||
|
const isStartValid = false === isNaN(start.getTime());
|
||||||
|
const isEndValid = false === isNaN(end.getTime()) || isInfinite;
|
||||||
|
|
||||||
|
if(!isStartValid || !isEndValid) {
|
||||||
|
return "Die Datumsangaben sind ungültig!";
|
||||||
|
}
|
||||||
|
|
||||||
|
const selectedOption = $("#absence-reason-select option:selected");
|
||||||
|
|
||||||
|
if(!isInfinite && end.getTime() < start.getTime()) {
|
||||||
|
validationMessage = "Das Startdatum muss vor dem Enddatum liegen.";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(selectedOption.val() === "-1") {
|
||||||
|
if(validationMessage.length === 0) {
|
||||||
|
validationMessage = "Die Kategorie darf nicht leer sein.";
|
||||||
|
} else {
|
||||||
|
validationMessage += "<br />Die Kategorie darf nicht leer sein.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return validationMessage;
|
||||||
|
} catch(error) {
|
||||||
|
showErrorPopup(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function toggleAllDay() {
|
||||||
|
try {
|
||||||
|
const checkbox = $(`#@Model.HtmlPrefix-absence-time-allday-cb`);
|
||||||
|
const isChecked = checkbox.is(":checked");
|
||||||
|
|
||||||
|
if(isChecked === true) {
|
||||||
|
$(`#@Model.HtmlPrefix-absence-time-start-time-input, #@Model.HtmlPrefix-absence-time-end-time-input`).val(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
$(`#@Model.HtmlPrefix-absence-time-start-time-input, #@Model.HtmlPrefix-absence-time-end-time-input`).prop("disabled", isChecked);
|
||||||
|
} catch(error) {
|
||||||
|
showErrorPopup(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function submitAbsenceTimesForm() {
|
||||||
|
try {
|
||||||
|
const validationMessage = validateAbsenceTimeForm();
|
||||||
|
|
||||||
|
if(validationMessage !== undefined && validationMessage !== null && validationMessage.length > 0) {
|
||||||
|
$("#form-validation-result-row").removeClass("d-none");
|
||||||
|
$("#form-validation-result-container").html(validationMessage);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
showSpinner();
|
||||||
|
$("#create-absence-time-form").submit();
|
||||||
|
$(`#@Model.HtmlPrefix-absence-times-form-popup`).modal("hide");
|
||||||
|
} catch(error) {
|
||||||
|
showErrorPopup(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearAbsenceTimesForm() {
|
||||||
|
try {
|
||||||
|
$(`#@Model.HtmlPrefix-absence-time-notice, #@Model.HtmlPrefix-absence-time-start-date, #@Model.HtmlPrefix-absence-time-end-date, #@Model.HtmlPrefix-absence-time-start-time, #@Model.HtmlPrefix-absence-time-end-time`).val("");
|
||||||
|
$.get("@Url.Action("DeselectAbsenceTime", controllerName)");
|
||||||
|
} catch(error) {
|
||||||
|
showErrorPopup(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
@using(Html.BeginForm("CreateOrUpdateAbsenceTime", controllerName, FormMethod.Post, new { id = "create-absence-time-form" }))
|
||||||
|
{
|
||||||
|
var isAllDay = Model.SelectedAbsenceTime?.Start?.IsTimeZero() ?? false;
|
||||||
|
var allDay = isAllDay ? "checked" : "";
|
||||||
|
var isDisabled = isAllDay ? "disabled" : "";
|
||||||
|
var startDate = Model.SelectedAbsenceTime?.Start?.ToString("yyyy-MM-dd");
|
||||||
|
var endDate = Model.SelectedAbsenceTime?.End?.ToString("yyyy-MM-dd");
|
||||||
|
var startTime = Model.SelectedAbsenceTime?.Start?.ToString("HH:mm");
|
||||||
|
var endTime = Model.SelectedAbsenceTime?.End?.ToString("HH:mm");
|
||||||
|
|
||||||
|
if(startTime?.Equals("00:00") ?? false)
|
||||||
|
{
|
||||||
|
startTime = string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(endTime?.Equals("00:00") ?? false)
|
||||||
|
{
|
||||||
|
endTime = string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
var absenceTimeOid = Model.SelectedAbsenceTime?.AbsenceTimeOid;
|
||||||
|
|
||||||
|
<input type="hidden" name="@prefix-absence-time-oid" value="@absenceTimeOid" />
|
||||||
|
|
||||||
|
<div class="form-row d-none" id="form-validation-result-row">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="alert alert-danger mb-0" role="alert" id="form-validation-result-container"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#region Datumsangaben
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="col-md-6 mt-2">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">
|
||||||
|
Startdatum
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<input type="date" value="@startDate" class="form-control" id="@prefix-absence-time-start-date-input" name="@prefix-absence-time-start-date" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 mt-2">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">
|
||||||
|
Enddatum
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<input type="date" value="@endDate" class="form-control" id="@prefix-absence-time-end-date-input" name="@prefix-absence-time-end-date" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="col-md-6 mt-2">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">
|
||||||
|
Von
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<input type="time" class="form-control" id="@prefix-absence-time-start-time-input" name="@prefix-absence-time-start-time" @isDisabled value="@startTime" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 mt-2">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">
|
||||||
|
Bis
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<input type="time" class="form-control" id="@prefix-absence-time-end-time-input" name="@prefix-absence-time-end-time" @isDisabled value="@endTime" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="col-md py-1">
|
||||||
|
<div class="custom-control custom-checkbox custom-control-inline">
|
||||||
|
<input type="checkbox" class="custom-control-input" name="@prefix-absence-time-allday-cb" id="@prefix-absence-time-allday-cb" onclick="toggleAllDay()" @allDay />
|
||||||
|
<label class="custom-control-label" for="@prefix-absence-time-allday-cb">Ganztäglich</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="col-md">
|
||||||
|
<div class="form-group mb-2 mt-0">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<div class="input-group-text absence-time-prepend">
|
||||||
|
Kategorie
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@Html.DropDownListFor(m => m.SelectedAbsenceReasonOid, Model.AbsenceReasonItems, new { @class = "custom-select", Id = "absence-reason-select", Name = Model.HtmlPrefix + "-absence-time-category" })
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="col-md">
|
||||||
|
<div class="form-group mb-1">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<div class="input-group-text absence-time-prepend">
|
||||||
|
Erläuterung
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<textarea class="form-control" autocomplete="on" id="@prefix-absence-time-notice" name="@prefix-absence-time-notice" maxlength="1024">@(Model.SelectedAbsenceTime?.Notice ?? string.Empty)</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
@@ -1,74 +1,77 @@
|
|||||||
@using BeWoPlanerMobil.Models;
|
@using BeWoPlanerMobil.Models
|
||||||
@using BeWoPlanerMobil.Util
|
@using BeWoPlanerMobil.Util
|
||||||
@using BS.Shared.Extensions
|
@using BS.Shared.Extensions
|
||||||
|
@model BeWoPlanerMobil.Models.IAbsenceTimeModel
|
||||||
|
|
||||||
@model CustomerModel
|
@{
|
||||||
|
var controllerName = Model is CustomerModel ? "Customer" : "Employee";
|
||||||
|
}
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@if(ViewData["AbsenceTimeError"] is string testMessage)
|
@if(ViewData["AbsenceTimeError"] is string testMessage)
|
||||||
{
|
{
|
||||||
<text>
|
<text>
|
||||||
showMessagePopupWithHtml("Fehler", "<div class='alert' role='alert'>@Html.Raw(ViewData["AbsenceTimeError"])</div>");
|
showMessagePopupWithHtml("Fehler", "<div class='alert' role='alert'>@Html.Raw(ViewData["AbsenceTimeError"])</div>");
|
||||||
</text>
|
</text>
|
||||||
}
|
}
|
||||||
|
|
||||||
$(window).ready(function() {
|
$(window).ready(function() {
|
||||||
@if(!(Model.SelectedAbsenceTime is null))
|
@if(Model.SelectedAbsenceTime != null)
|
||||||
{
|
{
|
||||||
<text>
|
<text>
|
||||||
$("#customer-absence-times-form-popup").modal("show");
|
$("#absence-times-form-popup").modal("show");
|
||||||
</text>
|
</text>
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function deleteAbsenceTime(absenceTimeOid, absenceTimeSpanDescription) {
|
function deleteAbsenceTime(absenceTimeOid, absenceTimeSpanDescription) {
|
||||||
|
try {
|
||||||
|
event.stopPropagation();
|
||||||
|
|
||||||
|
const word = absenceTimeSpanDescription.includes("Ab") ? "" : "vom ";
|
||||||
|
|
||||||
|
showMessagePopupWithCallback("Abwesenheit löschen",
|
||||||
|
`Möchten Sie wirklich die Abwesenheit ${word}${absenceTimeSpanDescription.toLowerCase()} löschen?`,
|
||||||
|
function() {
|
||||||
|
showSpinner();
|
||||||
|
|
||||||
|
$("#absence-times-container").load("@Url.Action("DeleteAbsenceTime", controllerName)", {absenceTimeOid: absenceTimeOid}, function() {
|
||||||
|
hideSpinner();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
false);
|
||||||
|
} catch (error) {
|
||||||
|
showErrorPopup(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectAbsenceTime(absenceTimeOid) {
|
||||||
try {
|
try {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
$.get("@Url.Action("SetSelectedAbsenceTimeOid", controllerName)", {absenceTimeOid: absenceTimeOid}).done(function(result) {
|
||||||
var word = absenceTimeSpanDescription.includes("Ab") ? "" : "vom ";
|
if(result !== undefined && result !== null && result.length > 1) {
|
||||||
|
showMessagePopupWithHtml("Fehler", `<div class='alert alert-danger' role='alert'>${result}</div>`);
|
||||||
showMessagePopupWithCallback("Abwesenheit löschen",
|
} else if(result !== undefined && result !== null && result.length === 1) {
|
||||||
"Möchten Sie wirklich die Abwesenheit " + word + absenceTimeSpanDescription.toLowerCase() + " löschen?",
|
$(`#@Model.HtmlPrefix-absence-time-modal-body`).load('@Url.Action("LoadAbsenceTimeToForm", controllerName)', function () {
|
||||||
function() {
|
calcAbsenceTimePrependWidth();
|
||||||
showSpinner();
|
$(`#@Model.HtmlPrefix-absence-times-form-popup`).modal("show");
|
||||||
|
});
|
||||||
$("#absence-times-container").load("@Url.Action("DeleteAbsenceTime")", {absenceTimeOid: absenceTimeOid}, function() {
|
}
|
||||||
hideSpinner();
|
});
|
||||||
});
|
} catch (error) {
|
||||||
},
|
showErrorPopup(error);
|
||||||
false);
|
}
|
||||||
} catch (error) {
|
}
|
||||||
showErrorPopup(error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function selectAbsenceTime(absenceTimeOid) {
|
|
||||||
try {
|
|
||||||
event.stopPropagation();
|
|
||||||
$.get("@Url.Action("SetSelectedAbsenceTimeOid")", { absenceTimeOid: absenceTimeOid }).done(function(result) {
|
|
||||||
if(result !== undefined && result !== null && result.length > 1) {
|
|
||||||
showMessagePopupWithHtml("Fehler", "<div class='alert alert-danger' role='alert'>" + result + "</div>");
|
|
||||||
} else if(result !== undefined && result !== null && result.length === 1) {
|
|
||||||
$("#customer-absence-time-modal-body").load('@Url.Action("LoadAbsenceTimeToForm", "Customer")', function () {
|
|
||||||
calcAbsenceTimePrependWidth();
|
|
||||||
$("#customer-absence-times-form-popup").modal("show");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
showErrorPopup(error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@foreach(var absenceTime in Model.SelectedCustomer.AbsenceTimes.OrderByDescending(at => at.Start))
|
@foreach(var absenceTime in Model.AbsenceTimeObject.AbsenceTimes.OrderByDescending(at => at.Start))
|
||||||
{
|
{
|
||||||
if(absenceTime.Start is null)
|
if(absenceTime.Start is null)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mx-0 px-0 mb-2">
|
||||||
<div class="card w-100">
|
<div class="card w-100">
|
||||||
<div class="card-header" onclick="cardHeaderClick2(this)">
|
<div class="card-header" onclick="cardHeaderClick2(this)">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -98,7 +101,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, $"customer-absence-time-{absenceTime.AbsenceTimeOid}")" id="customer-absence-time-@absenceTime.AbsenceTimeOid">
|
<div class="collapse @Html.GetCollapsibleClass(Model.Collapsibles2IsShown, $"{Model.HtmlPrefix}-absence-time-{absenceTime.AbsenceTimeOid}")" id="customer-absence-time-@absenceTime.AbsenceTimeOid">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="container-fluid px-0">
|
<div class="container-fluid px-0">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -412,7 +412,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@if(Model.HasRightToViewOwnEmployee)
|
||||||
|
{
|
||||||
|
using(Html.BeginForm("RedirectToEmployees", "Main", FormMethod.Post))
|
||||||
|
{
|
||||||
|
<li class="nav-item">
|
||||||
|
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
|
||||||
|
<i class="fas fa-user text-bewo-employee"></i>
|
||||||
|
Mitarbeiter
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@if (Model.IsAllowedToSeeCustomers)
|
@if (Model.IsAllowedToSeeCustomers)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -83,6 +83,14 @@ namespace Ruhrstern.Invoicing
|
|||||||
|
|
||||||
return ii;
|
return ii;
|
||||||
}
|
}
|
||||||
|
public override void SetRecipientInformation(ServiceInvoice serviceInvoice, CostBearer costBearer)
|
||||||
|
{
|
||||||
|
base.SetRecipientInformation(serviceInvoice, costBearer);
|
||||||
|
if (costBearer.Organisation.Name.ToLower() == "selbstzahler")
|
||||||
|
{
|
||||||
|
serviceInvoice.InvoiceBase.InvoiceId = "BeWo";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc)
|
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -18,7 +18,11 @@ namespace Ruhrstern
|
|||||||
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||||
{
|
{
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation) && !String.IsNullOrEmpty(pRO.RecipientOrganisation.Trim()))
|
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation) && pRO.RecipientOrganisation.ToLower() != "selbstzahler")
|
||||||
|
{
|
||||||
|
sb.AppendLine(pRO.RecipientOrganisation);
|
||||||
|
}
|
||||||
|
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation) && !String.IsNullOrEmpty(pRO.RecipientOrganisation.Trim()) && pRO.RecipientOrganisation.ToLower() != "selbstzahler")
|
||||||
{
|
{
|
||||||
sb.AppendLine(pRO.RecipientOrganisation);
|
sb.AppendLine(pRO.RecipientOrganisation);
|
||||||
}
|
}
|
||||||
@@ -26,7 +30,7 @@ namespace Ruhrstern
|
|||||||
{
|
{
|
||||||
sb.AppendLine(pRO.RecipientContactPerson);
|
sb.AppendLine(pRO.RecipientContactPerson);
|
||||||
}
|
}
|
||||||
if (!String.IsNullOrEmpty(pRO.RecipientDivision) && !String.IsNullOrEmpty(pRO.RecipientDivision.Trim()))
|
if (!String.IsNullOrEmpty(pRO.RecipientDivision) && !String.IsNullOrEmpty(pRO.RecipientOrganisation) && pRO.RecipientOrganisation.ToLower() != "selbstzahler")
|
||||||
{
|
{
|
||||||
sb.AppendLine(pRO.RecipientDivision);
|
sb.AppendLine(pRO.RecipientDivision);
|
||||||
}
|
}
|
||||||
|
|||||||
919
ReportImp/Ruhrstern/Reporting/ServiceInvoiceReportBewo.Designer.cs
generated
Normal file
919
ReportImp/Ruhrstern/Reporting/ServiceInvoiceReportBewo.Designer.cs
generated
Normal file
@@ -0,0 +1,919 @@
|
|||||||
|
using BeWo.Report.ReportObjects;
|
||||||
|
namespace Ruhrstern
|
||||||
|
{
|
||||||
|
partial class ServiceInvoiceReportBeWo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.components = new System.ComponentModel.Container();
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServiceInvoiceReportBeWo));
|
||||||
|
DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark();
|
||||||
|
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||||
|
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||||
|
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
|
||||||
|
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||||
|
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||||
|
this.Page1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||||
|
this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.lblAnrede = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.lblAbrechnungszeitraum = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
|
||||||
|
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
|
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
|
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableRow4 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
|
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
|
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableRow8 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
|
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableRow7 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
|
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
|
||||||
|
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
|
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
|
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrLabel14 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||||
|
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
|
||||||
|
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
|
||||||
|
this.xrTableRow23 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
|
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.DetailReport2 = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||||
|
this.Detail3 = new DevExpress.XtraReports.UI.DetailBand();
|
||||||
|
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
|
||||||
|
this.xrTableRow25 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
|
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell46 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
|
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||||
|
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
|
||||||
|
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
|
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||||
|
//
|
||||||
|
// Detail
|
||||||
|
//
|
||||||
|
this.Detail.HeightF = 0F;
|
||||||
|
this.Detail.Name = "Detail";
|
||||||
|
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||||
|
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||||
|
//
|
||||||
|
// ReportHeader
|
||||||
|
//
|
||||||
|
this.ReportHeader.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||||
|
this.ReportHeader.HeightF = 0F;
|
||||||
|
this.ReportHeader.Name = "ReportHeader";
|
||||||
|
this.ReportHeader.StylePriority.UseFont = false;
|
||||||
|
//
|
||||||
|
// ruleRateFactorNull
|
||||||
|
//
|
||||||
|
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||||
|
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||||
|
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||||
|
//
|
||||||
|
// topMarginBand1
|
||||||
|
//
|
||||||
|
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||||
|
this.xrPictureBox1});
|
||||||
|
this.topMarginBand1.HeightF = 157.5F;
|
||||||
|
this.topMarginBand1.Name = "topMarginBand1";
|
||||||
|
//
|
||||||
|
// bottomMarginBand1
|
||||||
|
//
|
||||||
|
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||||
|
this.xrLabel7});
|
||||||
|
this.bottomMarginBand1.HeightF = 50F;
|
||||||
|
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||||
|
//
|
||||||
|
// Page1
|
||||||
|
//
|
||||||
|
this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||||
|
this.xrLabel6,
|
||||||
|
this.lblAdresse,
|
||||||
|
this.xrLabel4,
|
||||||
|
this.xrLabel3,
|
||||||
|
this.xrLabel2,
|
||||||
|
this.lblAnrede,
|
||||||
|
this.xrLabel8,
|
||||||
|
this.lblAbrechnungszeitraum,
|
||||||
|
this.xrTable2});
|
||||||
|
this.Page1.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||||
|
this.Page1.HeightF = 447.8333F;
|
||||||
|
this.Page1.Name = "Page1";
|
||||||
|
this.Page1.StylePriority.UseFont = false;
|
||||||
|
//
|
||||||
|
// lblAdresse
|
||||||
|
//
|
||||||
|
this.lblAdresse.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||||
|
this.lblAdresse.Multiline = true;
|
||||||
|
this.lblAdresse.Name = "lblAdresse";
|
||||||
|
this.lblAdresse.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.lblAdresse.SizeF = new System.Drawing.SizeF(317F, 111.5F);
|
||||||
|
this.lblAdresse.StylePriority.UseFont = false;
|
||||||
|
this.lblAdresse.Text = "[RecipientOrganisation]\r\n[RecipientContactPerson]\r\n[RecipientDivision]\r\n[Recipien" +
|
||||||
|
"tStreet]\r\n[RecipientPostCodeAndTown]";
|
||||||
|
//
|
||||||
|
// xrLabel4
|
||||||
|
//
|
||||||
|
this.xrLabel4.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.xrLabel4.CanShrink = true;
|
||||||
|
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
|
||||||
|
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
|
||||||
|
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0.0001907349F, 301.6666F);
|
||||||
|
this.xrLabel4.Multiline = true;
|
||||||
|
this.xrLabel4.Name = "xrLabel4";
|
||||||
|
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrLabel4.SizeF = new System.Drawing.SizeF(650F, 20F);
|
||||||
|
this.xrLabel4.StylePriority.UseBackColor = false;
|
||||||
|
this.xrLabel4.StylePriority.UseFont = false;
|
||||||
|
this.xrLabel4.Text = "[CustomerReferenceNumber]";
|
||||||
|
this.xrLabel4.WordWrap = false;
|
||||||
|
//
|
||||||
|
// xrLabel3
|
||||||
|
//
|
||||||
|
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.xrLabel3.CanShrink = true;
|
||||||
|
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
|
||||||
|
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
|
||||||
|
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(0.0001907349F, 281.6666F);
|
||||||
|
this.xrLabel3.Name = "xrLabel3";
|
||||||
|
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrLabel3.SizeF = new System.Drawing.SizeF(650F, 20F);
|
||||||
|
this.xrLabel3.StylePriority.UseBackColor = false;
|
||||||
|
this.xrLabel3.StylePriority.UseFont = false;
|
||||||
|
this.xrLabel3.Text = "Abrechnung Betreuungsleistungen für [CustomerSalutation] [CustomerName], geb. [Cu" +
|
||||||
|
"stomerBirthdate!dd.MM.yyyy]";
|
||||||
|
this.xrLabel3.WordWrap = false;
|
||||||
|
//
|
||||||
|
// xrLabel2
|
||||||
|
//
|
||||||
|
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.xrLabel2.CanShrink = true;
|
||||||
|
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Verdana", 9.75F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
|
||||||
|
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
|
||||||
|
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0.0001907349F, 261.6666F);
|
||||||
|
this.xrLabel2.Name = "xrLabel2";
|
||||||
|
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 20F);
|
||||||
|
this.xrLabel2.StylePriority.UseBackColor = false;
|
||||||
|
this.xrLabel2.StylePriority.UseFont = false;
|
||||||
|
this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]";
|
||||||
|
this.xrLabel2.WordWrap = false;
|
||||||
|
//
|
||||||
|
// lblAnrede
|
||||||
|
//
|
||||||
|
this.lblAnrede.LocationFloat = new DevExpress.Utils.PointFloat(0F, 376.6666F);
|
||||||
|
this.lblAnrede.Name = "lblAnrede";
|
||||||
|
this.lblAnrede.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.lblAnrede.SizeF = new System.Drawing.SizeF(317F, 17F);
|
||||||
|
this.lblAnrede.StylePriority.UseFont = false;
|
||||||
|
this.lblAnrede.Text = "Sehr geehrte Damen und Herren,";
|
||||||
|
//
|
||||||
|
// xrLabel8
|
||||||
|
//
|
||||||
|
this.xrLabel8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate")});
|
||||||
|
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(376F, 200.125F);
|
||||||
|
this.xrLabel8.Name = "xrLabel8";
|
||||||
|
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrLabel8.SizeF = new System.Drawing.SizeF(274F, 23F);
|
||||||
|
this.xrLabel8.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrLabel8.Text = "xrLabel8";
|
||||||
|
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||||
|
//
|
||||||
|
// lblAbrechnungszeitraum
|
||||||
|
//
|
||||||
|
this.lblAbrechnungszeitraum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 416.2499F);
|
||||||
|
this.lblAbrechnungszeitraum.Multiline = true;
|
||||||
|
this.lblAbrechnungszeitraum.Name = "lblAbrechnungszeitraum";
|
||||||
|
this.lblAbrechnungszeitraum.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.lblAbrechnungszeitraum.SizeF = new System.Drawing.SizeF(642F, 31.58334F);
|
||||||
|
this.lblAbrechnungszeitraum.StylePriority.UseFont = false;
|
||||||
|
this.lblAbrechnungszeitraum.Text = "hiermit berechnen wir für den ... folgende erbrachte Tätigkeiten:";
|
||||||
|
//
|
||||||
|
// xrTable2
|
||||||
|
//
|
||||||
|
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(376F, 56.45843F);
|
||||||
|
this.xrTable2.Name = "xrTable2";
|
||||||
|
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||||
|
this.xrTableRow2,
|
||||||
|
this.xrTableRow5,
|
||||||
|
this.xrTableRow4,
|
||||||
|
this.xrTableRow3,
|
||||||
|
this.xrTableRow8,
|
||||||
|
this.xrTableRow7});
|
||||||
|
this.xrTable2.SizeF = new System.Drawing.SizeF(274F, 114F);
|
||||||
|
//
|
||||||
|
// xrTableRow2
|
||||||
|
//
|
||||||
|
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
|
this.xrTableCell4});
|
||||||
|
this.xrTableRow2.Name = "xrTableRow2";
|
||||||
|
this.xrTableRow2.Weight = 0.13245033112582783D;
|
||||||
|
//
|
||||||
|
// xrTableCell4
|
||||||
|
//
|
||||||
|
this.xrTableCell4.CanShrink = true;
|
||||||
|
this.xrTableCell4.Name = "xrTableCell4";
|
||||||
|
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrTableCell4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||||
|
this.xrTableCell4.StylePriority.UseFont = false;
|
||||||
|
this.xrTableCell4.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell4.Text = "Ihr(e) Ansprechpartner(in):";
|
||||||
|
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||||
|
this.xrTableCell4.Weight = 1D;
|
||||||
|
//
|
||||||
|
// xrTableRow5
|
||||||
|
//
|
||||||
|
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
|
this.xrTableCell13});
|
||||||
|
this.xrTableRow5.Name = "xrTableRow5";
|
||||||
|
this.xrTableRow5.Weight = 0.13245033112582783D;
|
||||||
|
//
|
||||||
|
// xrTableCell13
|
||||||
|
//
|
||||||
|
this.xrTableCell13.CanShrink = true;
|
||||||
|
this.xrTableCell13.Name = "xrTableCell13";
|
||||||
|
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrTableCell13.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||||
|
this.xrTableCell13.StylePriority.UseFont = false;
|
||||||
|
this.xrTableCell13.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell13.Text = "[SenderContactPerson]";
|
||||||
|
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||||
|
this.xrTableCell13.Weight = 1D;
|
||||||
|
//
|
||||||
|
// xrTableRow4
|
||||||
|
//
|
||||||
|
this.xrTableRow4.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
|
this.xrTableCell11});
|
||||||
|
this.xrTableRow4.Name = "xrTableRow4";
|
||||||
|
this.xrTableRow4.Weight = 0.13245033112582783D;
|
||||||
|
//
|
||||||
|
// xrTableCell11
|
||||||
|
//
|
||||||
|
this.xrTableCell11.CanShrink = true;
|
||||||
|
this.xrTableCell11.Name = "xrTableCell11";
|
||||||
|
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrTableCell11.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||||
|
this.xrTableCell11.StylePriority.UseFont = false;
|
||||||
|
this.xrTableCell11.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell11.Text = "[SenderContactPersonDivision]";
|
||||||
|
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||||
|
this.xrTableCell11.Weight = 1D;
|
||||||
|
//
|
||||||
|
// xrTableRow3
|
||||||
|
//
|
||||||
|
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
|
this.xrTableCell8});
|
||||||
|
this.xrTableRow3.Name = "xrTableRow3";
|
||||||
|
this.xrTableRow3.Weight = 0.13245033112582783D;
|
||||||
|
//
|
||||||
|
// xrTableCell8
|
||||||
|
//
|
||||||
|
this.xrTableCell8.CanShrink = true;
|
||||||
|
this.xrTableCell8.Name = "xrTableCell8";
|
||||||
|
this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrTableCell8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||||
|
this.xrTableCell8.StylePriority.UseFont = false;
|
||||||
|
this.xrTableCell8.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell8.Text = "[SenderContactPersonMail]";
|
||||||
|
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||||
|
this.xrTableCell8.Weight = 1D;
|
||||||
|
//
|
||||||
|
// xrTableRow8
|
||||||
|
//
|
||||||
|
this.xrTableRow8.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
|
this.xrTableCell5});
|
||||||
|
this.xrTableRow8.Name = "xrTableRow8";
|
||||||
|
this.xrTableRow8.Weight = 0.11258278145695365D;
|
||||||
|
//
|
||||||
|
// xrTableCell5
|
||||||
|
//
|
||||||
|
this.xrTableCell5.Name = "xrTableCell5";
|
||||||
|
this.xrTableCell5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrTableCell5.Weight = 1D;
|
||||||
|
//
|
||||||
|
// xrTableRow7
|
||||||
|
//
|
||||||
|
this.xrTableRow7.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
|
this.xrTableCell3});
|
||||||
|
this.xrTableRow7.Name = "xrTableRow7";
|
||||||
|
this.xrTableRow7.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableRow7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||||
|
this.xrTableRow7.Weight = 0.11258278145695365D;
|
||||||
|
//
|
||||||
|
// xrTableCell3
|
||||||
|
//
|
||||||
|
this.xrTableCell3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "BusinessPartnerId")});
|
||||||
|
this.xrTableCell3.Multiline = true;
|
||||||
|
this.xrTableCell3.Name = "xrTableCell3";
|
||||||
|
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrTableCell3.TextFormatString = "GP-Nr.: {0}";
|
||||||
|
this.xrTableCell3.Weight = 1D;
|
||||||
|
//
|
||||||
|
// xrLabel15
|
||||||
|
//
|
||||||
|
this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||||
|
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 192.7083F);
|
||||||
|
this.xrLabel15.Name = "xrLabel15";
|
||||||
|
this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrLabel15.SizeF = new System.Drawing.SizeF(175F, 17F);
|
||||||
|
this.xrLabel15.StylePriority.UseFont = false;
|
||||||
|
this.xrLabel15.Text = "Mit freundlichen Grüßen";
|
||||||
|
//
|
||||||
|
// xrTable4
|
||||||
|
//
|
||||||
|
this.xrTable4.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||||
|
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 146.875F);
|
||||||
|
this.xrTable4.Name = "xrTable4";
|
||||||
|
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||||
|
this.xrTableRow10,
|
||||||
|
this.xrTableRow14});
|
||||||
|
this.xrTable4.SizeF = new System.Drawing.SizeF(650F, 26F);
|
||||||
|
this.xrTable4.StylePriority.UseFont = false;
|
||||||
|
//
|
||||||
|
// xrTableRow10
|
||||||
|
//
|
||||||
|
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
|
this.xrTableCell9});
|
||||||
|
this.xrTableRow10.Name = "xrTableRow10";
|
||||||
|
this.xrTableRow10.Weight = 0.38095238095238093D;
|
||||||
|
//
|
||||||
|
// xrTableCell9
|
||||||
|
//
|
||||||
|
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Notice")});
|
||||||
|
this.xrTableCell9.Name = "xrTableCell9";
|
||||||
|
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrTableCell9.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell9.Text = "xrTableCell1";
|
||||||
|
this.xrTableCell9.Weight = 3D;
|
||||||
|
//
|
||||||
|
// xrTableRow14
|
||||||
|
//
|
||||||
|
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
|
this.xrTableCell12});
|
||||||
|
this.xrTableRow14.Name = "xrTableRow14";
|
||||||
|
this.xrTableRow14.Weight = 0.23809523809523808D;
|
||||||
|
//
|
||||||
|
// xrTableCell12
|
||||||
|
//
|
||||||
|
this.xrTableCell12.Name = "xrTableCell12";
|
||||||
|
this.xrTableCell12.Weight = 3D;
|
||||||
|
//
|
||||||
|
// xrLabel14
|
||||||
|
//
|
||||||
|
this.xrLabel14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "CreatorName")});
|
||||||
|
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||||
|
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(0F, 267.7083F);
|
||||||
|
this.xrLabel14.Name = "xrLabel14";
|
||||||
|
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrLabel14.SizeF = new System.Drawing.SizeF(225F, 17F);
|
||||||
|
this.xrLabel14.StylePriority.UseFont = false;
|
||||||
|
this.xrLabel14.Text = "[CreatorName]";
|
||||||
|
//
|
||||||
|
// DetailReport
|
||||||
|
//
|
||||||
|
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||||
|
this.Detail1,
|
||||||
|
this.DetailReport2});
|
||||||
|
this.DetailReport.DataMember = "ServiceInvoicePeriods";
|
||||||
|
this.DetailReport.DataSource = this.bindingSource1;
|
||||||
|
this.DetailReport.Level = 0;
|
||||||
|
this.DetailReport.Name = "DetailReport";
|
||||||
|
//
|
||||||
|
// Detail1
|
||||||
|
//
|
||||||
|
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||||
|
this.xrTable5});
|
||||||
|
this.Detail1.HeightF = 25F;
|
||||||
|
this.Detail1.Name = "Detail1";
|
||||||
|
//
|
||||||
|
// xrTable5
|
||||||
|
//
|
||||||
|
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||||
|
this.xrTable5.Name = "xrTable5";
|
||||||
|
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||||
|
this.xrTableRow23});
|
||||||
|
this.xrTable5.SizeF = new System.Drawing.SizeF(677F, 25F);
|
||||||
|
//
|
||||||
|
// xrTableRow23
|
||||||
|
//
|
||||||
|
this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
|
this.xrTableCell32,
|
||||||
|
this.xrTableCell37,
|
||||||
|
this.xrTableCell35,
|
||||||
|
this.xrTableCell33,
|
||||||
|
this.xrTableCell36,
|
||||||
|
this.xrTableCell38,
|
||||||
|
this.xrTableCell34});
|
||||||
|
this.xrTableRow23.Name = "xrTableRow23";
|
||||||
|
this.xrTableRow23.Weight = 1D;
|
||||||
|
//
|
||||||
|
// xrTableCell32
|
||||||
|
//
|
||||||
|
this.xrTableCell32.BackColor = System.Drawing.Color.Gainsboro;
|
||||||
|
this.xrTableCell32.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell32.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell32.Name = "xrTableCell32";
|
||||||
|
this.xrTableCell32.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell32.StylePriority.UseBackColor = false;
|
||||||
|
this.xrTableCell32.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell32.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell32.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell32.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell32.Text = "Zeitraum";
|
||||||
|
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||||
|
this.xrTableCell32.Weight = 0.62463077449375981D;
|
||||||
|
//
|
||||||
|
// xrTableCell37
|
||||||
|
//
|
||||||
|
this.xrTableCell37.BackColor = System.Drawing.Color.Gainsboro;
|
||||||
|
this.xrTableCell37.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell37.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell37.Name = "xrTableCell37";
|
||||||
|
this.xrTableCell37.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell37.StylePriority.UseBackColor = false;
|
||||||
|
this.xrTableCell37.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell37.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell37.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell37.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell37.Text = "Leistung";
|
||||||
|
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||||
|
this.xrTableCell37.Weight = 0.85081236260328186D;
|
||||||
|
//
|
||||||
|
// xrTableCell35
|
||||||
|
//
|
||||||
|
this.xrTableCell35.BackColor = System.Drawing.Color.Gainsboro;
|
||||||
|
this.xrTableCell35.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell35.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell35.Name = "xrTableCell35";
|
||||||
|
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell35.StylePriority.UseBackColor = false;
|
||||||
|
this.xrTableCell35.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell35.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell35.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell35.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell35.Text = "Satz";
|
||||||
|
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
this.xrTableCell35.Weight = 0.23245943032832414D;
|
||||||
|
//
|
||||||
|
// xrTableCell33
|
||||||
|
//
|
||||||
|
this.xrTableCell33.BackColor = System.Drawing.Color.Gainsboro;
|
||||||
|
this.xrTableCell33.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell33.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell33.Name = "xrTableCell33";
|
||||||
|
this.xrTableCell33.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell33.StylePriority.UseBackColor = false;
|
||||||
|
this.xrTableCell33.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell33.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell33.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell33.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell33.Text = "Stunden";
|
||||||
|
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
this.xrTableCell33.Weight = 0.2893277257020575D;
|
||||||
|
//
|
||||||
|
// xrTableCell36
|
||||||
|
//
|
||||||
|
this.xrTableCell36.BackColor = System.Drawing.Color.Gainsboro;
|
||||||
|
this.xrTableCell36.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell36.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell36.Name = "xrTableCell36";
|
||||||
|
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell36.StylePriority.UseBackColor = false;
|
||||||
|
this.xrTableCell36.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell36.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell36.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell36.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell36.Text = "Betrag";
|
||||||
|
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
this.xrTableCell36.Weight = 0.26310971709438763D;
|
||||||
|
//
|
||||||
|
// xrTableCell38
|
||||||
|
//
|
||||||
|
this.xrTableCell38.BackColor = System.Drawing.Color.Gainsboro;
|
||||||
|
this.xrTableCell38.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell38.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell38.Name = "xrTableCell38";
|
||||||
|
this.xrTableCell38.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell38.StylePriority.UseBackColor = false;
|
||||||
|
this.xrTableCell38.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell38.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell38.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell38.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell38.Text = "pausch Fakt.";
|
||||||
|
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
this.xrTableCell38.Weight = 0.42042083402151886D;
|
||||||
|
//
|
||||||
|
// xrTableCell34
|
||||||
|
//
|
||||||
|
this.xrTableCell34.BackColor = System.Drawing.Color.Gainsboro;
|
||||||
|
this.xrTableCell34.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell34.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell34.Name = "xrTableCell34";
|
||||||
|
this.xrTableCell34.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell34.StylePriority.UseBackColor = false;
|
||||||
|
this.xrTableCell34.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell34.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell34.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell34.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell34.Text = "Gesamt";
|
||||||
|
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
this.xrTableCell34.Weight = 0.31923915575667006D;
|
||||||
|
//
|
||||||
|
// DetailReport2
|
||||||
|
//
|
||||||
|
this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||||
|
this.Detail3,
|
||||||
|
this.GroupFooter1});
|
||||||
|
this.DetailReport2.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
|
||||||
|
this.DetailReport2.DataSource = this.bindingSource1;
|
||||||
|
this.DetailReport2.Level = 0;
|
||||||
|
this.DetailReport2.Name = "DetailReport2";
|
||||||
|
this.DetailReport2.PageBreak = DevExpress.XtraReports.UI.PageBreak.AfterBand;
|
||||||
|
//
|
||||||
|
// Detail3
|
||||||
|
//
|
||||||
|
this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||||
|
this.xrTable6});
|
||||||
|
this.Detail3.HeightF = 25F;
|
||||||
|
this.Detail3.Name = "Detail3";
|
||||||
|
//
|
||||||
|
// xrTable6
|
||||||
|
//
|
||||||
|
this.xrTable6.Font = new DevExpress.Drawing.DXFont("Verdana", 8.25F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
|
||||||
|
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
|
||||||
|
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||||
|
this.xrTable6.Name = "xrTable6";
|
||||||
|
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||||
|
this.xrTableRow25});
|
||||||
|
this.xrTable6.SizeF = new System.Drawing.SizeF(677F, 25F);
|
||||||
|
this.xrTable6.StylePriority.UseFont = false;
|
||||||
|
//
|
||||||
|
// xrTableRow25
|
||||||
|
//
|
||||||
|
this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
|
this.xrTableCell40,
|
||||||
|
this.xrTableCell42,
|
||||||
|
this.xrTableCell43,
|
||||||
|
this.xrTableCell44,
|
||||||
|
this.xrTableCell45,
|
||||||
|
this.xrTableCell46,
|
||||||
|
this.xrTableCell47});
|
||||||
|
this.xrTableRow25.Name = "xrTableRow25";
|
||||||
|
this.xrTableRow25.Weight = 1D;
|
||||||
|
//
|
||||||
|
// xrTableCell40
|
||||||
|
//
|
||||||
|
this.xrTableCell40.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell40.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Duration")});
|
||||||
|
this.xrTableCell40.Name = "xrTableCell40";
|
||||||
|
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell40.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell40.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell40.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell40.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||||
|
this.xrTableCell40.Weight = 0.62463084211025488D;
|
||||||
|
//
|
||||||
|
// xrTableCell42
|
||||||
|
//
|
||||||
|
this.xrTableCell42.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell42.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell42.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.ServiceDescription")});
|
||||||
|
this.xrTableCell42.Name = "xrTableCell42";
|
||||||
|
this.xrTableCell42.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell42.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell42.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell42.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell42.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||||
|
this.xrTableCell42.Weight = 0.85081229498678679D;
|
||||||
|
//
|
||||||
|
// xrTableCell43
|
||||||
|
//
|
||||||
|
this.xrTableCell43.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell43.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell43.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate", "{0:0.00}")});
|
||||||
|
this.xrTableCell43.Name = "xrTableCell43";
|
||||||
|
this.xrTableCell43.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell43.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell43.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell43.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell43.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell43.Text = "xrTableCell43";
|
||||||
|
this.xrTableCell43.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
this.xrTableCell43.Weight = 0.23245943032832414D;
|
||||||
|
//
|
||||||
|
// xrTableCell44
|
||||||
|
//
|
||||||
|
this.xrTableCell44.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell44.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Hours", "{0:0.##}")});
|
||||||
|
this.xrTableCell44.Name = "xrTableCell44";
|
||||||
|
this.xrTableCell44.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell44.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell44.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell44.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell44.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell44.Text = "xrTableCell44";
|
||||||
|
this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
this.xrTableCell44.Weight = 0.2893277257020575D;
|
||||||
|
//
|
||||||
|
// xrTableCell45
|
||||||
|
//
|
||||||
|
this.xrTableCell45.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell45.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell45.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.NetAmount", "{0:0.00}")});
|
||||||
|
this.xrTableCell45.Name = "xrTableCell45";
|
||||||
|
this.xrTableCell45.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell45.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell45.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell45.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell45.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell45.Text = "xrTableCell45";
|
||||||
|
this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
this.xrTableCell45.Weight = 0.26310971709438763D;
|
||||||
|
//
|
||||||
|
// xrTableCell46
|
||||||
|
//
|
||||||
|
this.xrTableCell46.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell46.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell46.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.RateFactor")});
|
||||||
|
this.xrTableCell46.Name = "xrTableCell46";
|
||||||
|
this.xrTableCell46.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell46.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell46.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell46.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell46.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell46.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
this.xrTableCell46.Weight = 0.42042083402151886D;
|
||||||
|
//
|
||||||
|
// xrTableCell47
|
||||||
|
//
|
||||||
|
this.xrTableCell47.BorderColor = System.Drawing.Color.DarkGray;
|
||||||
|
this.xrTableCell47.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||||
|
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||||
|
this.xrTableCell47.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.GrossAmount")});
|
||||||
|
this.xrTableCell47.Name = "xrTableCell47";
|
||||||
|
this.xrTableCell47.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F);
|
||||||
|
this.xrTableCell47.StylePriority.UseBorderColor = false;
|
||||||
|
this.xrTableCell47.StylePriority.UseBorders = false;
|
||||||
|
this.xrTableCell47.StylePriority.UsePadding = false;
|
||||||
|
this.xrTableCell47.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
this.xrTableCell47.Weight = 0.31923915575667006D;
|
||||||
|
//
|
||||||
|
// GroupFooter1
|
||||||
|
//
|
||||||
|
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||||
|
this.xrLabel5,
|
||||||
|
this.xrLabel1,
|
||||||
|
this.xrTable4,
|
||||||
|
this.xrLabel14,
|
||||||
|
this.xrLabel15});
|
||||||
|
this.GroupFooter1.HeightF = 284.7083F;
|
||||||
|
this.GroupFooter1.Name = "GroupFooter1";
|
||||||
|
//
|
||||||
|
// xrLabel1
|
||||||
|
//
|
||||||
|
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "Gesamtsumme: {0}")});
|
||||||
|
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Verdana", 9F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||||
|
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(420.9999F, 0F);
|
||||||
|
this.xrLabel1.Name = "xrLabel1";
|
||||||
|
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F);
|
||||||
|
this.xrLabel1.SizeF = new System.Drawing.SizeF(255.8333F, 25F);
|
||||||
|
this.xrLabel1.StylePriority.UseFont = false;
|
||||||
|
this.xrLabel1.StylePriority.UsePadding = false;
|
||||||
|
this.xrLabel1.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrLabel1.Text = "xrLabel1";
|
||||||
|
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
|
//
|
||||||
|
// xrPictureBox1
|
||||||
|
//
|
||||||
|
this.xrPictureBox1.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox1.ImageSource"));
|
||||||
|
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(448.4886F, 0F);
|
||||||
|
this.xrPictureBox1.Name = "xrPictureBox1";
|
||||||
|
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(228.5114F, 138.9036F);
|
||||||
|
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
|
||||||
|
//
|
||||||
|
// xrLabel7
|
||||||
|
//
|
||||||
|
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||||
|
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0.0001907349F, 9.999974F);
|
||||||
|
this.xrLabel7.Name = "xrLabel7";
|
||||||
|
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrLabel7.SizeF = new System.Drawing.SizeF(649.9998F, 17F);
|
||||||
|
this.xrLabel7.StylePriority.UseFont = false;
|
||||||
|
this.xrLabel7.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrLabel7.Text = "IBAN DE62 3702 0500 0001 5580 00 ";
|
||||||
|
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
|
||||||
|
//
|
||||||
|
// xrLabel6
|
||||||
|
//
|
||||||
|
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(376F, 5.45845F);
|
||||||
|
this.xrLabel6.Multiline = true;
|
||||||
|
this.xrLabel6.Name = "xrLabel6";
|
||||||
|
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrLabel6.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||||
|
this.xrLabel6.SizeF = new System.Drawing.SizeF(274F, 50.99996F);
|
||||||
|
this.xrLabel6.StylePriority.UseFont = false;
|
||||||
|
this.xrLabel6.StylePriority.UseTextAlignment = false;
|
||||||
|
this.xrLabel6.Text = "BEWO RUHRSTERN GmbH\r\nZiegelstr. 12, 45139 Essen";
|
||||||
|
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
|
||||||
|
//
|
||||||
|
// xrLabel5
|
||||||
|
//
|
||||||
|
this.xrLabel5.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.xrLabel5.CanShrink = true;
|
||||||
|
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("verdana", 10F);
|
||||||
|
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 69.79166F);
|
||||||
|
this.xrLabel5.Multiline = true;
|
||||||
|
this.xrLabel5.Name = "xrLabel5";
|
||||||
|
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
|
this.xrLabel5.SizeF = new System.Drawing.SizeF(650.7152F, 63.75001F);
|
||||||
|
this.xrLabel5.StylePriority.UseBackColor = false;
|
||||||
|
this.xrLabel5.StylePriority.UseFont = false;
|
||||||
|
this.xrLabel5.Text = resources.GetString("xrLabel5.Text");
|
||||||
|
this.xrLabel5.WordWrap = false;
|
||||||
|
//
|
||||||
|
// bindingSource1
|
||||||
|
//
|
||||||
|
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
|
||||||
|
//
|
||||||
|
// ServiceInvoiceReportBeWo
|
||||||
|
//
|
||||||
|
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||||
|
this.Detail,
|
||||||
|
this.ReportHeader,
|
||||||
|
this.topMarginBand1,
|
||||||
|
this.bottomMarginBand1,
|
||||||
|
this.Page1,
|
||||||
|
this.DetailReport});
|
||||||
|
this.DataSource = this.bindingSource1;
|
||||||
|
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
|
||||||
|
this.Font = new DevExpress.Drawing.DXFont("Verdana", 10F);
|
||||||
|
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
|
||||||
|
this.ruleRateFactorNull});
|
||||||
|
this.Margins = new DevExpress.Drawing.DXMargins(75F, 75F, 157.5F, 50F);
|
||||||
|
this.PageHeight = 1169;
|
||||||
|
this.PageWidth = 827;
|
||||||
|
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
|
||||||
|
this.Version = "23.2";
|
||||||
|
xrWatermark1.Id = "Watermark1";
|
||||||
|
this.Watermarks.Add(xrWatermark1);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private DevExpress.XtraReports.UI.DetailBand Detail;
|
||||||
|
private System.Windows.Forms.BindingSource bindingSource1;
|
||||||
|
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
|
||||||
|
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
|
||||||
|
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
|
||||||
|
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
|
||||||
|
private DevExpress.XtraReports.UI.GroupHeaderBand Page1;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel lblAnrede;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel lblAbrechnungszeitraum;
|
||||||
|
private DevExpress.XtraReports.UI.XRTable xrTable2;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableRow xrTableRow4;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableRow xrTableRow8;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
|
||||||
|
private DevExpress.XtraReports.UI.XRTable xrTable4;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableRow xrTableRow14;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel xrLabel14;
|
||||||
|
private DevExpress.XtraReports.UI.DetailReportBand DetailReport;
|
||||||
|
private DevExpress.XtraReports.UI.DetailBand Detail1;
|
||||||
|
private DevExpress.XtraReports.UI.XRTable xrTable5;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableRow xrTableRow23;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell32;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell35;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell38;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
|
||||||
|
private DevExpress.XtraReports.UI.DetailReportBand DetailReport2;
|
||||||
|
private DevExpress.XtraReports.UI.DetailBand Detail3;
|
||||||
|
private DevExpress.XtraReports.UI.XRTable xrTable6;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableRow xrTableRow25;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell42;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell43;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell46;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel lblAdresse;
|
||||||
|
private DevExpress.XtraReports.UI.GroupFooterBand GroupFooter1;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableRow xrTableRow7;
|
||||||
|
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
|
||||||
|
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
|
||||||
|
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
|
||||||
|
}
|
||||||
|
}
|
||||||
103
ReportImp/Ruhrstern/Reporting/ServiceInvoiceReportBewo.cs
Normal file
103
ReportImp/Ruhrstern/Reporting/ServiceInvoiceReportBewo.cs
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
using System;
|
||||||
|
using System.Text;
|
||||||
|
using BeWo.Data.Entities;
|
||||||
|
using BeWo.Report;
|
||||||
|
using BeWo.Report.ReportObjects;
|
||||||
|
using BS.Shared;
|
||||||
|
using BS.Shared.Core;
|
||||||
|
using BS.Shared.Extensions;
|
||||||
|
using DevExpress.XtraReports.UI;
|
||||||
|
|
||||||
|
namespace Ruhrstern
|
||||||
|
{
|
||||||
|
[IDSpecificClass(Identifier = "BeWo")]
|
||||||
|
public partial class ServiceInvoiceReportBeWo : XtraReport, IBeWoReport<ServiceInvoiceRO>
|
||||||
|
{
|
||||||
|
public ServiceInvoiceReportBeWo()
|
||||||
|
{
|
||||||
|
this.InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
||||||
|
{
|
||||||
|
DateTime start = pRO.AccountingPeriodStart;
|
||||||
|
DateTime end = pRO.AccountingPeriodEnd;
|
||||||
|
if (start.Month == end.Month && start.Year == end.Year)
|
||||||
|
{
|
||||||
|
lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Monat {0:MMMM yyyy} folgende erbrachte Tätigkeiten:", start);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Zeitraum {0:MMMM yyyy} - {1:MMMM yyyy} folgende erbrachte Tätigkeiten:", start, end);
|
||||||
|
}
|
||||||
|
|
||||||
|
SetzeAdresse(pRO);
|
||||||
|
SetzeAnrede(pRO);
|
||||||
|
|
||||||
|
this.bindingSource1.DataSource = pRO;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetzeAdresse(ServiceInvoiceRO pRO)
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation) && pRO.RecipientOrganisation.ToLower() != "selbstzahler")
|
||||||
|
{
|
||||||
|
sb.AppendLine(pRO.RecipientOrganisation);
|
||||||
|
}
|
||||||
|
//if (!String.IsNullOrEmpty(pRO.RecipientAddressLine1))
|
||||||
|
//{
|
||||||
|
// sb.AppendLine(pRO.RecipientAddressLine1);
|
||||||
|
//}
|
||||||
|
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
|
||||||
|
{
|
||||||
|
sb.AppendLine(pRO.RecipientContactPerson);
|
||||||
|
}
|
||||||
|
if (!String.IsNullOrEmpty(pRO.RecipientDivision) && !String.IsNullOrEmpty(pRO.RecipientOrganisation) && pRO.RecipientOrganisation.ToLower() != "selbstzahler")
|
||||||
|
{
|
||||||
|
sb.AppendLine(pRO.RecipientDivision);
|
||||||
|
}
|
||||||
|
if (!String.IsNullOrEmpty(pRO.RecipientPoBox))
|
||||||
|
{
|
||||||
|
sb.AppendLine(pRO.RecipientPoBox);
|
||||||
|
}
|
||||||
|
else if (!String.IsNullOrEmpty(pRO.RecipientStreet))
|
||||||
|
{
|
||||||
|
sb.AppendLine(pRO.RecipientStreet);
|
||||||
|
}
|
||||||
|
if (!String.IsNullOrEmpty(pRO.RecipientPostCodeAndTown))
|
||||||
|
{
|
||||||
|
sb.AppendLine(pRO.RecipientPostCodeAndTown);
|
||||||
|
}
|
||||||
|
lblAdresse.Text = sb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetzeAnrede(ServiceInvoiceRO pRO)
|
||||||
|
{
|
||||||
|
String anrede = "Sehr geehrte Damen und Herren,";
|
||||||
|
var p = GetKontaktPerson(pRO);
|
||||||
|
|
||||||
|
if (p != null)
|
||||||
|
{
|
||||||
|
if (p.Sex.HasValue && p.Sex.Value == Sex.Male)
|
||||||
|
{
|
||||||
|
anrede = "Sehr geehrter Herr " + p.LastName + ",";
|
||||||
|
}
|
||||||
|
else if (p.Sex.HasValue && p.Sex.Value == Sex.Female)
|
||||||
|
{
|
||||||
|
anrede = "Sehr geehrte Frau " + p.LastName + ",";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Person GetKontaktPerson(ServiceInvoiceRO pRO)
|
||||||
|
{
|
||||||
|
if (pRO.ServiceInvoicePeriods.Count > 0)
|
||||||
|
{
|
||||||
|
var c2s = pRO.ServiceInvoicePeriods[0].CostBearer2SupportConcept;
|
||||||
|
return c2s.CostBearerContactPerson;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
129
ReportImp/Ruhrstern/Reporting/ServiceInvoiceReportBewo.resx
Normal file
129
ReportImp/Ruhrstern/Reporting/ServiceInvoiceReportBewo.resx
Normal file
File diff suppressed because one or more lines are too long
@@ -77,6 +77,12 @@
|
|||||||
<Compile Include="Reporting\Quittierungsbeleg.Designer.cs">
|
<Compile Include="Reporting\Quittierungsbeleg.Designer.cs">
|
||||||
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Reporting\ServiceInvoiceReportBewo.cs">
|
||||||
|
<SubType>Component</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Reporting\ServiceInvoiceReportBewo.Designer.cs">
|
||||||
|
<DependentUpon>ServiceInvoiceReportBewo.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Reporting\ServiceInvoiceReport.cs">
|
<Compile Include="Reporting\ServiceInvoiceReport.cs">
|
||||||
<SubType>Component</SubType>
|
<SubType>Component</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -124,6 +130,10 @@
|
|||||||
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
<DependentUpon>Quittierungsbeleg.cs</DependentUpon>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Reporting\ServiceInvoiceReportBewo.resx">
|
||||||
|
<DependentUpon>ServiceInvoiceReportBewo.cs</DependentUpon>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Reporting\ServiceInvoiceReport.resx">
|
<EmbeddedResource Include="Reporting\ServiceInvoiceReport.resx">
|
||||||
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
|
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace BeWo.Service.DCEntityMapper
|
|||||||
pDataContract.EmployeeColor = pEntity.EmployeeColor;
|
pDataContract.EmployeeColor = pEntity.EmployeeColor;
|
||||||
pDataContract.RelatedCustomerOIDList = pEntity.Employee2CustomerList.Where(w => w.CustomerOid.HasValue).Select(s => s.CustomerOid.Value).ToList();
|
pDataContract.RelatedCustomerOIDList = pEntity.Employee2CustomerList.Where(w => w.CustomerOid.HasValue).Select(s => s.CustomerOid.Value).ToList();
|
||||||
|
|
||||||
return pDataContract;
|
return pDataContract;
|
||||||
}
|
}
|
||||||
|
|
||||||
// COMPACT EMPLOYEES ARE NOT EDITABLE
|
// COMPACT EMPLOYEES ARE NOT EDITABLE
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ namespace BS.Shared.DataContracts.Compact
|
|||||||
[DataMember] public String Details2 { get; set; }
|
[DataMember] public String Details2 { get; set; }
|
||||||
[DataMember] public String Details3 { get; set; }
|
[DataMember] public String Details3 { get; set; }
|
||||||
|
|
||||||
[DataMember]
|
[DataMember]
|
||||||
public List<long> RelatedCustomerOIDList
|
public List<long> RelatedCustomerOIDList
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using BS.Shared.DataContracts.Wohnhilfe;
|
|||||||
namespace BS.Shared.DataContracts
|
namespace BS.Shared.DataContracts
|
||||||
{
|
{
|
||||||
[DataContract]
|
[DataContract]
|
||||||
public class CustomerDC : PersonDC
|
public class CustomerDC : PersonDC, IAbsenceTime
|
||||||
{
|
{
|
||||||
[DataMember] public List<AbsenceTimeDC> AbsenceTimes { get; set; }
|
[DataMember] public List<AbsenceTimeDC> AbsenceTimes { get; set; }
|
||||||
[DataMember] public List<AssessmentSheetCategoryDC> AssessmentSheetCategoryDCs { get; set; }
|
[DataMember] public List<AssessmentSheetCategoryDC> AssessmentSheetCategoryDCs { get; set; }
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace BS.Shared.DataContracts
|
|||||||
{
|
{
|
||||||
[DebuggerDisplay("Oid = {EmployeeOid}, Name = {LastNameFirstName}")]
|
[DebuggerDisplay("Oid = {EmployeeOid}, Name = {LastNameFirstName}")]
|
||||||
[DataContract]
|
[DataContract]
|
||||||
public class EmployeeDC : PersonDC, IDataContract
|
public class EmployeeDC : PersonDC, IDataContract, IAbsenceTime
|
||||||
{
|
{
|
||||||
private List<ValueListEntryDC> _Focuses;
|
private List<ValueListEntryDC> _Focuses;
|
||||||
|
|
||||||
|
|||||||
12
Shared/DataContracts/IAbsenceTime.cs
Normal file
12
Shared/DataContracts/IAbsenceTime.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace BS.Shared.DataContracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Damit im MoK nur ein PartialView für die darstellung der Abwesenheiten benötigt wird.
|
||||||
|
/// </summary>
|
||||||
|
public interface IAbsenceTime
|
||||||
|
{
|
||||||
|
List<AbsenceTimeDC> AbsenceTimes { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -187,6 +187,7 @@
|
|||||||
<Compile Include="DataContracts\AdminService\AdminServiceSumResponseDetailDC.cs" />
|
<Compile Include="DataContracts\AdminService\AdminServiceSumResponseDetailDC.cs" />
|
||||||
<Compile Include="DataContracts\AdminService\IAdminServiceDC.cs" />
|
<Compile Include="DataContracts\AdminService\IAdminServiceDC.cs" />
|
||||||
<Compile Include="DataContracts\AdminService\AdminServiceSumReqDC.cs" />
|
<Compile Include="DataContracts\AdminService\AdminServiceSumReqDC.cs" />
|
||||||
|
<Compile Include="DataContracts\IAbsenceTime.cs" />
|
||||||
<Compile Include="DataContracts\Invoicing\GkvAbrechnung\GkvServerGetNumberRequestDC.cs" />
|
<Compile Include="DataContracts\Invoicing\GkvAbrechnung\GkvServerGetNumberRequestDC.cs" />
|
||||||
<Compile Include="DataContracts\Invoicing\GkvAbrechnung\GkvServerGetNumberResponseDC.cs" />
|
<Compile Include="DataContracts\Invoicing\GkvAbrechnung\GkvServerGetNumberResponseDC.cs" />
|
||||||
<Compile Include="DataContracts\Person2TeamDC.cs" />
|
<Compile Include="DataContracts\Person2TeamDC.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user