Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo

This commit is contained in:
2026-03-30 10:19:46 +02:00
54 changed files with 2616 additions and 1101 deletions

View File

@@ -76,7 +76,7 @@ namespace BeWo.Scheduler.ViewModel
ServiceFacade.DoEmployeeServiceSync(s => originator = s.FindCompactEmployeeByFullname(abwesenheit.InsUser));
}
if(!(dc is null))
if(false == dc is null)
{
subject += $" ({dc.SimpleDescription})";
}

View File

@@ -162,12 +162,12 @@ namespace BeWo.ownChat
var goalCategoryDict = vm.AllGoalCategories.ToDictionary(goalCat => goalCat.ValueListEntryOid.Value);
foreach (var goal in infoDC.SupportConceptGoals)
foreach(var goal in infoDC.SupportConceptGoals)
{
if (goal.ParentOid != null && goalCategoryDict.ContainsKey(goal.ParentOid.Value))
if(goal.ParentOid != null && goalCategoryDict.ContainsKey(goal.ParentOid.Value))
{
var path = ServiceRecordListVM.GetAllParentGoalCategoies(goalCategoryDict, goal);
foreach (var goalCat in path)
foreach(var goalCat in path)
{
goalCats.Add(goalCat);
goalCategoryDict.Remove(goalCat.ValueListEntryOid.Value);
@@ -214,7 +214,6 @@ namespace BeWo.ownChat
{
vm.FetchStatistics(cb2ScOid.Value);
}
serviceRecordEditView.InitView(vm, _ServiceRecord, hideCustomerCombo);

View File

@@ -146,7 +146,7 @@ namespace BeWoPlanerMobil.Controllers
return;
}
if(customerOid == -1)
if(customerOid <= 0)
{
Model.CustomerSessionModel.ResetValues();
}

View File

@@ -22,7 +22,6 @@ namespace BeWoPlanerMobil.Controllers
/*
* ToDo:
* 1. Filterung einbauen (Mitarbeiter, Klienten, Ressourcen, Privat, Aufgaben, Abwesenheiten)
* Das Filtern muss über den CustomCallback geschehen, damit die Termin-Liste aktualisiert wird.
* 2. "In die Zeiterfassung übertragen" und "Verfügbare Mitarbeiter prüfen" einbauen
* 3. Rechte implementieren!
* 4. Übersetzungen
@@ -94,12 +93,14 @@ namespace BeWoPlanerMobil.Controllers
private void InitViewModel()
{
if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer") || Model?.LoggedInEmployee?.EmployeeOid is null)
if(false == MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer") || Model?.LoggedInEmployee?.EmployeeOid is null)
{
Logout();
return;
}
var x = Model.SelectedEmployeeOidsForFiltering;
Model.PossibleEmployees = EmployeeService.GetAllAuthorizedCompactEmployees();
Model.PossibleCustomers = CustomerService.GetAllAuthorizedCompactCustomers();
Model.PossibleResources = KalenderService.GetAllResources();
@@ -263,7 +264,7 @@ namespace BeWoPlanerMobil.Controllers
[Authorize]
public ActionResult DevExpressScheduler()
{
if(!MobileSessionFacade.IsUserLoggedIn() || Model is null)
if(false == MobileSessionFacade.IsUserLoggedIn() || Model is null)
{
return RedirectToActionPermanent("Index", "Login");
}
@@ -515,7 +516,16 @@ namespace BeWoPlanerMobil.Controllers
return PartialView("AptFltEmployeePopupListPartial");
}
Model.SelectedEmployeeOidsForFiltering = Model.PossibleEmployees.Select(employee => employee.EmployeeOid).ToList();
if(isChecked)
{
Model.SelectedEmployeesForFiltering = Model.PossibleEmployees;
Model.SelectedEmployeeOidsForFiltering = Model.PossibleEmployees.Select(employee => employee.EmployeeOid).ToList();
}
else
{
Model.SelectedEmployeesForFiltering?.Clear();
Model.SelectedEmployeeOidsForFiltering?.Clear();
}
return PartialView("AptFltEmployeePopupListPartial", Model);
}
@@ -529,7 +539,16 @@ namespace BeWoPlanerMobil.Controllers
return PartialView("AptFltCustomerPopupListPartial");
}
Model.SelectedCustomerOidsForFiltering = Model.PossibleCustomers.Select(customer => customer.CustomerOid).ToList();
if(isChecked)
{
Model.SelectedCustomerOidsForFiltering = Model.PossibleCustomers.Select(customer => customer.CustomerOid).ToList();
Model.SelectedCustomersForFiltering = Model.PossibleCustomers;
}
else
{
Model.SelectedCustomerOidsForFiltering?.Clear();
Model.SelectedCustomersForFiltering?.Clear();
}
return PartialView("AptFltCustomerPopupListPartial", Model);
}
@@ -543,9 +562,18 @@ namespace BeWoPlanerMobil.Controllers
return PartialView("AptFltResourcePopupListPartial");
}
Model.SelectedResourceOidsForFiltering = Model.PossibleResources.Where(resource => resource.ResourceOid.HasValue).Select(resource => resource.ResourceOid.Value).ToList();
if(isChecked)
{
Model.SelectedResourceOidsForFiltering = Model.PossibleResources.Where(resource => resource.ResourceOid.HasValue).Select(resource => resource.ResourceOid.Value).ToList();
Model.SelectedResourcesForFiltering = Model.PossibleResources;
}
else
{
Model.SelectedResourceOidsForFiltering?.Clear();
Model.SelectedResourcesForFiltering?.Clear();
}
return PartialView("AptFltResourcePopupListPartial");
return PartialView("AptFltResourcePopupListPartial", Model);
}
[Authorize]
@@ -561,14 +589,17 @@ namespace BeWoPlanerMobil.Controllers
if(selectedTeam is null)
{
return PartialView("AptFltEmployeePopupListPartial");
return PartialView("AptFltEmployeePopupListPartial", Model);
}
var fullTeamObj = EmployeeService.LoadTeam(teamOid);
Model.SelectedEmployeeOids.AddRangeIfElementsNotIn(fullTeamObj.Member.Select(member => member.EmployeeOid));
var teamMembers = fullTeamObj?.Member ?? new List<CompactEmployeeDC>();
return PartialView("AptFltEmployeePopupListPartial");
Model.SelectedEmployeesForFiltering.AddRangeIfElementsNotIn(teamMembers);
Model.SelectedEmployeeOids.AddRangeIfElementsNotIn(teamMembers.Select(member => member.EmployeeOid));
return PartialView("AptFltEmployeePopupListPartial", Model);
}
[Authorize]
@@ -582,6 +613,7 @@ namespace BeWoPlanerMobil.Controllers
var selectedEmployees = Model.PossibleEmployees.Where(possibleEmployee => selectedEmployeeOids.Contains(possibleEmployee.EmployeeOid)).ToList();
Model.SelectedEmployeesForFiltering = selectedEmployees;
Model.SelectedEmployeeOidsForFiltering = selectedEmployees.Select(employee => employee.EmployeeOid).ToList();
return PartialView("AptFltEmployeePopupListPartial", Model);
@@ -598,6 +630,9 @@ namespace BeWoPlanerMobil.Controllers
var selectedCustomers = Model.PossibleCustomers.Where(possibleCustomer => selectedCustomerOids.Contains(possibleCustomer.CustomerOid)).ToList();
Model.SelectedCustomersForFiltering = selectedCustomers;
Model.SelectedCustomerOidsForFiltering = selectedCustomers.Select(customer => customer.CustomerOid).ToList();
return PartialView("AptFltCustomerPopupListPartial", Model);
}
@@ -610,7 +645,30 @@ namespace BeWoPlanerMobil.Controllers
return PartialView("AptFltResourcePopupListPartial");
}
var selectedResources = Model.PossibleResources.Where(possibleResource => possibleResource.ResourceOid.HasValue && selectedResourceOids.Contains(possibleResource.ResourceOid.Value)).ToList();
Model.SelectedResourcesForFiltering = selectedResources;
Model.SelectedResourceOidsForFiltering = selectedResources.Where(resource => resource.ResourceOid.HasValue).Select(resource => resource.ResourceOid.Value).ToList();
return PartialView("AptFltResourcePopupListPartial", Model);
}
[Authorize]
public string GetSelectedEmployeesForAptFlt()
{
return JsonConvert.SerializeObject(Model.SelectedEmployeeOidsForFiltering.Count);
}
[Authorize]
public string GetSelectedCustomersForAptFlt()
{
return JsonConvert.SerializeObject(Model.SelectedCustomerOidsForFiltering.Count);
}
[Authorize]
public string GetSelectedResourcesForAptFlt()
{
return JsonConvert.SerializeObject(Model.SelectedResourceOidsForFiltering.Count);
}
}
}

View File

@@ -16,6 +16,7 @@ using DevExpress.XtraScheduler;
using DevExpress.XtraScheduler.Compatibility;
using Newtonsoft.Json;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
@@ -25,13 +26,13 @@ using System.Net.Sockets;
using System.Text;
using System.Web.Mvc;
using System.Windows.Forms;
using DevExpress.XtraRichEdit.Commands.Internal;
using static BeWoPlanerMobil.Util.MobileUtils;
using static BS.Shared.ServiceRecordValidationResult;
using FormCollection = System.Web.Mvc.FormCollection;
using GoalRating = BeWoPlanerMobil.Util.GoalRating;
using Image = System.Drawing.Image;
using ServiceRecordDC = BS.Shared.DataContracts.ServiceRecordDC;
using BeWo.Service.AI;
/*
* ToDo: Bug, wenn man auf "bearbeiten" bei einem Eintrag klickt, wird die Leistung nicht geladen
@@ -42,6 +43,13 @@ namespace BeWoPlanerMobil.Controllers
{
public class MainController : SignableController
{
// Speichert den Status externer Aufrufe (callId -> Callback-Daten)
private static readonly ConcurrentDictionary<string, string> _externalCallResults = new ConcurrentDictionary<string, string>();
// Speichert optionale Statusmeldungen für laufende externe Aufrufe (callId -> Statustext)
private static readonly ConcurrentDictionary<string, string> _externalCallStatusMessages = new ConcurrentDictionary<string, string>();
// Speichert das Aufnametoken für laufende externe Aufrufe (callId -> Token)
private static readonly ConcurrentDictionary<string, AiVoiceDataDC> _externalCallTokens = new ConcurrentDictionary<string, AiVoiceDataDC>();
public MainController()
{
int test = 0;
@@ -618,7 +626,7 @@ namespace BeWoPlanerMobil.Controllers
{
try
{
if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer"))
if(false == MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer"))
{
var isNewSession = Session.IsNewSession;
@@ -630,7 +638,7 @@ namespace BeWoPlanerMobil.Controllers
return Logout();
}
if(!Model.SessionInitialized)
if(false == Model.SessionInitialized)
{
Model.SessionInitialized = true;
var mokSessionTimeout = UserSettingsUtils.GetSettingValueAsInteger(Model.Mandator.Settings, SettingsKeys.MoKSessionTimeout, 20);
@@ -653,12 +661,17 @@ namespace BeWoPlanerMobil.Controllers
break;
}
if(!string.IsNullOrEmpty(tempDataValue))
if(false == string.IsNullOrEmpty(tempDataValue))
{
TempData[TempDataConstants.ShowPwChPopupKey] = tempDataValue;
}
}
}
if(TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is SchedulerAppointmentDC occurrenceToInsert)
{
TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] = occurrenceToInsert;
}
}
catch(Exception e)
{
@@ -1293,6 +1306,10 @@ namespace BeWoPlanerMobil.Controllers
var app = DAOFactory.GenericDAO.LoadByID<SchedulerAppointment>(Model.TransferringAppointmentOid.Value);
appointmentPrototype = MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDC(app);
}
else if(TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is SchedulerAppointmentDC occurrenceToInsert)
{
appointmentPrototype = occurrenceToInsert;
}
var marker = "on" == collection[FormCollectionConstants.MarkerKey];
@@ -1318,7 +1335,7 @@ namespace BeWoPlanerMobil.Controllers
var distanz = collection[FormCollectionConstants.DistanceKey];
decimal? distanceInMeters = null;
if(!string.IsNullOrEmpty(distanz))
if(false == string.IsNullOrEmpty(distanz))
{
if(decimal.TryParse(distanz, out var parsedDistance))
{
@@ -1350,7 +1367,7 @@ namespace BeWoPlanerMobil.Controllers
durationAsString = durationAsString?.Replace('.', ',');
if(!string.IsNullOrEmpty(durationAsString))
if(false == string.IsNullOrEmpty(durationAsString))
{
decimal.TryParse(durationAsString, out dauer);
}
@@ -1417,23 +1434,23 @@ namespace BeWoPlanerMobil.Controllers
if(Model.LoggedInEmployee.EmployeeOid.HasValue)
{
if(!Model.IsInEditingMode)
if(false == Model.IsInEditingMode)
{
Model.NewServiceRecord.Employee = Model.SelectedEmployee ?? LoggedInUser.Employee;
}
else
{
if(!(Model.SelectedEmployee is null))
if(Model.SelectedEmployee != null)
{
Model.NewServiceRecord.Employee = Model.SelectedEmployee;
}
}
var sclo = Model.SupportConceptListObjects.FirstOrDefault(a => a.CostBearer2SupportConceptOid.Equals(selectedCostbearerScRelOid));
var mokSupportConceptListObject = Model.SupportConceptListObjects.FirstOrDefault(a => a.CostBearer2SupportConceptOid.Equals(selectedCostbearerScRelOid));
if(!(sclo is null))
if(mokSupportConceptListObject != null)
{
var sc = GetCompactSupportConcept(sclo.SupportConceptOid, selectedCostbearerScRelOid);
var sc = GetCompactSupportConcept(mokSupportConceptListObject.SupportConceptOid, selectedCostbearerScRelOid);
Model.NewServiceRecord.SupportConcept = sc;
@@ -1479,7 +1496,7 @@ namespace BeWoPlanerMobil.Controllers
var serviceDescOid = 0L;
if(!string.IsNullOrEmpty(collection[FormCollectionConstants.ServiceDescriptionKey]))
if(false == string.IsNullOrEmpty(collection[FormCollectionConstants.ServiceDescriptionKey]))
{
serviceDescOid = Convert.ToInt64(collection[FormCollectionConstants.ServiceDescriptionKey]);
}
@@ -1508,77 +1525,52 @@ namespace BeWoPlanerMobil.Controllers
return Model.NewServiceRecord.ServiceRecordOid.HasValue ? SaveGroupBooking() : UpdateGroupBooking();
}
if(!Model.IsInEditingMode)
if(false == Model.IsInEditingMode)
{
var valRes = OperationsService.ValidateServiceRecord(Model.NewServiceRecord, null, 0, null, null);
bool doppelt = false;
if (valRes.Count > 0 && valRes.FirstOrDefault(v => v.ResultType == ServiceRecordValidationResult.DoppelterEintrag) != null)
if(Model.NewServiceRecord.CostBearer != null && Model.ShowSignature && (Model.NewServiceRecord.ServiceDescription.Category.IsBillable || Model.NewServiceRecord.ServiceDescription.Category.BillableAmount > 0m || Model.NewServiceRecord.ServiceDescription.BillableAmount > 0m))
{
doppelt = true;
}
if (!doppelt)
{
var oidList = OperationsService.InsertNewServiceRecords(new List<ServiceRecordDC> { Model.NewServiceRecord });
Model.LastCreatedServiceRecordOid = oidList[0];
if (Model.IsAllowedToCreateSignature(Model.NewServiceRecord))
var valRes = OperationsService.ValidateServiceRecord(Model.NewServiceRecord, null, 0, null, null);
bool doppelt = false;
if(valRes.Count > 0 && valRes.FirstOrDefault(v => v.ResultType == ServiceRecordValidationResult.DoppelterEintrag) != null)
{
if (Model.NewServiceRecord.CostBearer != null && Model.ShowSignature && (Model.NewServiceRecord.ServiceDescription.Category.IsBillable || Model.NewServiceRecord.ServiceDescription.Category.BillableAmount > 0m || Model.NewServiceRecord.ServiceDescription.BillableAmount > 0m))
doppelt = true;
}
if(!doppelt)
{
var oidList = OperationsService.InsertNewServiceRecords(new List<ServiceRecordDC> { Model.NewServiceRecord });
Model.LastCreatedServiceRecordOid = oidList[0];
if(Model.IsAllowedToCreateSignature(Model.NewServiceRecord))
{
TempData[TempDataConstants.ShowSignatureSuggestionPopup] = true;
if(Model.NewServiceRecord.CostBearer != null && Model.ShowSignature && (Model.NewServiceRecord.ServiceDescription.Category.IsBillable || Model.NewServiceRecord.ServiceDescription.Category.BillableAmount > 0m || Model.NewServiceRecord.ServiceDescription.BillableAmount > 0m))
{
TempData[TempDataConstants.ShowSignatureSuggestionPopup] = true;
}
}
}
}
TempData[TempDataConstants.AfterInsertKey] = true;
if (appointmentPrototype is object)
if(appointmentPrototype is object)
{
var isRecurring = !(appointmentPrototype.RecurrenceInfo is null);
var serviceRecord = OperationsService.GetServiceRecordById(Model.LastCreatedServiceRecordOid);
if(isRecurring && appointmentPrototype.Type != (int) AppointmentType.ChangedOccurrence)
if(appointmentPrototype.ServiceRecordList is null)
{
var id = appointmentPrototype.RecurrenceIdReference;
var recurrenceInfo = new RecurrenceInfo();
recurrenceInfo.FromXml(appointmentPrototype.RecurrenceInfo);
var occurrenceCalculator = OccurrenceCalculator.CreateInstance(recurrenceInfo);
var pattern = StaticAppointmentFactory.CreateAppointment(AppointmentType.Pattern);
pattern.RecurrenceInfo.FromXml(appointmentPrototype.RecurrenceInfo);
pattern.Start = pattern.RecurrenceInfo.Start;
pattern.End = pattern.RecurrenceInfo.End;
var occurrence = occurrenceCalculator.CalcOccurrences(new TimeInterval(appointmentPrototype.StartDate.Value, appointmentPrototype.EndDate.Value), pattern).FirstOrDefault();
if(!(occurrence is null))
{
var index = occurrence.RecurrenceIndex;
appointmentPrototype = SchedulerController.CloneAppointment(appointmentPrototype, $"<RecurrenceInfo Id=\"{id}\" Index=\"{index}\" />", (int)AppointmentType.ChangedOccurrence);
}
else
{
appointmentPrototype = null;
}
appointmentPrototype.ServiceRecordList = new List<ServiceRecordDC>();
}
if(appointmentPrototype is object)
appointmentPrototype.ServiceRecordList.AddIfNotIn(serviceRecord);
if(appointmentPrototype.SchedulerAppointmentOid.HasValue)
{
var serviceRecord = OperationsService.GetServiceRecordById(Model.LastCreatedServiceRecordOid);
appointmentPrototype.ServiceRecordList.AddIfNotIn(serviceRecord);
if(appointmentPrototype.SchedulerAppointmentOid.HasValue)
{
KalenderService.UpdateSchedulerAppointments(new List<SchedulerAppointmentDC> { appointmentPrototype });
}
else
{
KalenderService.InsertSchedulerAppointments(new List<SchedulerAppointmentDC> { appointmentPrototype });
}
KalenderService.UpdateSchedulerAppointments(new List<SchedulerAppointmentDC> { appointmentPrototype });
}
else
{
KalenderService.InsertSchedulerAppointments(new List<SchedulerAppointmentDC> { appointmentPrototype });
}
}
}
@@ -1592,7 +1584,7 @@ namespace BeWoPlanerMobil.Controllers
var previousStartDate = Model.IsInEditingMode ? Model.SelectedServiceRecord?.Start : Model.NewServiceRecord?.Start;
var previousEndDate = Model.IsInEditingMode ? Model.SelectedServiceRecord?.End : Model.NewServiceRecord?.End;
if(!(previousStartDate is null) && !(previousEndDate is null))
if(previousStartDate.HasValue && previousEndDate.HasValue)
{
var duration = (previousEndDate - previousStartDate).Value.TotalMinutes;
@@ -1607,7 +1599,7 @@ namespace BeWoPlanerMobil.Controllers
{
Log.Error(e.Message, e);
}
if (!Model.IsInGroupBookingMode && !Model.IsInMultiBookingMode)
if (false == Model.IsInGroupBookingMode && !Model.IsInMultiBookingMode)
{
//Setze den zuletzt ausgewählten HP zurück, sonst springt die Anzeige dorthin
Model.PreviouslySelectedCostbearer2SupportConceptOid = null;
@@ -1617,7 +1609,7 @@ namespace BeWoPlanerMobil.Controllers
long? oldCatOid = null;
long? oldDescOid = null;
if(!Model.IsInEditingMode)
if(false == Model.IsInEditingMode)
{
oldCatOid = Model.SelectedServiceCategoryOid;
oldDescOid = Model.SelectedServiceDescriptionOid;
@@ -1686,6 +1678,12 @@ namespace BeWoPlanerMobil.Controllers
if(newDCList.Count == 1)
{
OperationsService.InsertNewServiceRecords(newDCList);
if(TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is SchedulerAppointmentDC occurrenceToInsert)
{
KalenderService.InsertSchedulerAppointment(occurrenceToInsert);
}
TempData[TempDataConstants.AfterInsertKey] = true;
}
else
@@ -1715,13 +1713,28 @@ namespace BeWoPlanerMobil.Controllers
TempData[TempDataConstants.AfterInsertKey] = true;
if(Model.TransferringAppointmentOid.HasValue && Model.LoggedInEmployee.EmployeeOid.HasValue)
if((Model.TransferringAppointmentOid is null && TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is null) || Model.LoggedInEmployee?.EmployeeOid is null)
{
var app = DAOFactory.GenericDAO.LoadByID<SchedulerAppointment>(Model.TransferringAppointmentOid.Value);
var appointment = MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDC(app);
return ResetEditingMode();
}
appointment.ServiceRecordList.AddRange(serviceRecords);
var appointment = Model.TransferringAppointmentOid is null ?
(SchedulerAppointmentDC) TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] :
MapperFactory.SchedulerAppointmentDCSchedulerAppointment.MapToNewDC(DAOFactory.GenericDAO.LoadByID<SchedulerAppointment>(Model.TransferringAppointmentOid.Value));
if(appointment.ServiceRecordList is null)
{
appointment.ServiceRecordList = new List<ServiceRecordDC>();
}
appointment.ServiceRecordList.AddRange(serviceRecords);
// ToDo: Ist immer noch nicht mit den ServiceRecords verbunden!
if(appointment.SchedulerAppointmentOid is null)
{
KalenderService.InsertSchedulerAppointments(new List<SchedulerAppointmentDC> { appointment });
}
else
{
KalenderService.UpdateSchedulerAppointments(new List<SchedulerAppointmentDC> { appointment });
}
}
@@ -2724,6 +2737,11 @@ namespace BeWoPlanerMobil.Controllers
return Logout();
}
if(TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is SchedulerAppointmentDC occurrenceToInsert)
{
TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] = occurrenceToInsert;
}
var inEditMode = Model.IsInEditingMode;
var von = formCollection[FormCollectionConstants.DateKey];
@@ -2752,12 +2770,12 @@ namespace BeWoPlanerMobil.Controllers
var startHoursDt = ConvertTimeStringToDateTime(start);
var endHoursDt = ConvertTimeStringToDateTime(end);
if(!DateTime.TryParse(von, out var startDate))
if(false == DateTime.TryParse(von, out var startDate))
{
startDate = DateTime.Now.Date;
}
if(!DateTime.TryParse(bis, out var endDate))
if(false == DateTime.TryParse(bis, out var endDate))
{
endDate = DateTime.Now.Date;
}
@@ -2815,10 +2833,7 @@ namespace BeWoPlanerMobil.Controllers
if(supportConcept != null)
{
if(supportConcept.SupportConceptOid != null)
{
checkServiceRecord.SupportConcept = GetCompactSupportConcept(supportConcept.SupportConceptOid, Model.SelectedCostBearerSupportConceptOid);
}
checkServiceRecord.SupportConcept = GetCompactSupportConcept(supportConcept.SupportConceptOid, Model.SelectedCostBearerSupportConceptOid);
checkServiceRecord.Customer = supportConcept.Customer;
var costbearer = supportConcept.CostBearerList.FirstOrDefault();
@@ -3551,6 +3566,131 @@ namespace BeWoPlanerMobil.Controllers
return View("Main", Model);
}
/// <summary>
/// Ermittelt die externe URL, die beim Klick auf den Test-Button aufgerufen werden soll.
/// Die callbackUrl wird als Parameter mitgegeben, damit das externe System sie verwenden kann.
/// </summary>
[HttpGet]
[Authorize]
public JsonResult GetExternalCallUrl(string callId, string callbackUrl)
{
try
{
var externalUrl = "";
if (Mandator?.OwnChatCode != null)
{
var ts = new TranscriptionService();
var avd = ts.InitTranskription(MobileSessionFacade.Tenant, false);
externalUrl = avd.ResultUrl;
if (!string.IsNullOrEmpty(callId) && !string.IsNullOrEmpty(avd.Token))
{
_externalCallTokens[callId] = ts.MapAiVoiceDataDC(avd);
}
//var externalBaseUrl = "https://example.com/external-service";
//var externalUrl = externalBaseUrl
// + "?callbackUrl=" + Uri.EscapeDataString(callbackUrl)
// + "&callId=" + Uri.EscapeDataString(callId);
}
return Json(new { success = true, url = externalUrl }, JsonRequestBehavior.AllowGet);
}
catch(Exception ex)
{
return Json(new { success = false, message = "Fehler beim Ermitteln der externen URL: " + ex.Message }, JsonRequestBehavior.AllowGet);
}
}
/// <summary>
/// Callback-Endpunkt, der vom externen System aufgerufen wird.
/// Markiert den externen Aufruf als abgeschlossen.
/// </summary>
[HttpGet]
[AllowAnonymous]
public ActionResult ExternalCallCallback(string callId, string data = null)
{
if(!string.IsNullOrEmpty(callId))
{
_externalCallResults[callId] = data ?? string.Empty;
_externalCallStatusMessages.TryRemove(callId, out _);
_externalCallTokens.TryRemove(callId, out _);
}
return Content("OK");
}
/// <summary>
/// Kann vom externen System aufgerufen werden, um eine Statusmeldung zu setzen,
/// die dem Benutzer im Wartedialog angezeigt wird (ohne den Vorgang abzuschließen).
/// </summary>
[HttpGet]
[AllowAnonymous]
public ActionResult ExternalCallUpdateStatus(string callId, string message)
{
if(!string.IsNullOrEmpty(callId) && message != null)
{
_externalCallStatusMessages[callId] = message;
}
return Content("OK");
}
/// <summary>
/// Wird vom Browser per Polling aufgerufen, um zu prüfen ob der Callback bereits eingegangen ist.
/// Gibt bei completed=false optional eine Statusmeldung zurück.
/// </summary>
[HttpGet]
[Authorize]
public JsonResult CheckExternalCallStatus(string callId)
{
if(!string.IsNullOrEmpty(callId) && _externalCallResults.TryRemove(callId, out var data))
{
_externalCallStatusMessages.TryRemove(callId, out _);
_externalCallTokens.TryRemove(callId, out _);
return Json(new { completed = true, data }, JsonRequestBehavior.AllowGet);
}
string statusMessage = null;
if(!string.IsNullOrEmpty(callId) && _externalCallTokens.TryRemove(callId, out var avddc))
{
var ts = new TranscriptionService();
var avd = ts.MapAiVoiceData(avddc);
avd = ts.GetTranskription(avd);
statusMessage = avd.StatusMessage;
avddc = ts.MapAiVoiceDataDC(avd);
_externalCallTokens[callId] = avddc;
//_externalCallStatusMessages.TryGetValue(callId, out statusMessage);
}
return Json(new { completed = false, statusMessage }, JsonRequestBehavior.AllowGet);
}
/// <summary>
/// Wird aufgerufen, wenn der Benutzer den externen Aufruf abbricht.
/// Räumt den Eintrag auf, falls vorhanden.
/// </summary>
[HttpPost]
[Authorize]
public ActionResult CancelExternalCall(string callId)
{
if(!string.IsNullOrEmpty(callId))
{
_externalCallResults.TryRemove(callId, out _);
_externalCallStatusMessages.TryRemove(callId, out _);
_externalCallTokens.TryRemove(callId, out _);
}
return new HttpStatusCodeResult(200);
}
[HttpPost]
[Authorize]
public ActionResult ResetGroupBookingForm()
@@ -3962,7 +4102,7 @@ namespace BeWoPlanerMobil.Controllers
try
{
if(!Model.IsInEditingMode)
if(false == Model.IsInEditingMode)
{
if(Model.GroupBookingSelectedCostBearerSupportConceptOids.Count == 1)
{
@@ -4247,8 +4387,6 @@ namespace BeWoPlanerMobil.Controllers
return LeerzeichenFuerGetMethoden;
}
/// <summary>
/// Bereitet die Übernahme eines Termins in die Zeiterfassung vor. Wird im SchedulerController aufgerufen.
@@ -4257,7 +4395,7 @@ namespace BeWoPlanerMobil.Controllers
[Authorize]
public ActionResult PrepareServiceRecordInsert()
{
if(!IsUserLoggedIn())
if(false == IsUserLoggedIn())
{
TempData[TempDataConstants.DoLogoutKey] = true;
return Logout();
@@ -4281,19 +4419,11 @@ namespace BeWoPlanerMobil.Controllers
var startRaw = TempData[TempDataConstants.AppointmentStartKey]?.ToString();
var endRaw = TempData[TempDataConstants.AppointmentEndKey]?.ToString();
var subject = TempData[TempDataConstants.AppointmentSubjectKey]?.ToString();
var isAllDay = false;
if(TempData[TempDataConstants.AppointmentIsAllDayKey] is bool isAllDayRaw && isAllDayRaw)
{
isAllDay = true;
}
else if(appointment != null)
{
isAllDay = appointment.AllDay;
}
var isAllDay = TempData[TempDataConstants.AppointmentIsAllDayKey] is true;
var customerOids = new List<long>();
var employeeOids = new List<long>();
var resourceOids = new List<long>();
if(TempData[TempDataConstants.AppointmentEmployeeOidsKey] is string employeeOidsRaw && employeeOidsRaw.Length > 0)
{
@@ -4305,22 +4435,24 @@ namespace BeWoPlanerMobil.Controllers
customerOids = Utils.ConvertCharSeparatedValuesToLongList(customerOidsRaw, ',');
}
var isStartParsingSuccessful = DateTime.TryParse(startRaw, out var parsedStart);
var isEndParsingSuccessful = DateTime.TryParse(endRaw, out var parsedEnd);
if(TempData[TempDataConstants.AppointmentResourceOidsKey] is string resourceOidsRaw && resourceOidsRaw.Length > 0)
{
resourceOids = Utils.ConvertCharSeparatedValuesToLongList(resourceOidsRaw, ',');
}
var start = appointment is null ? parsedStart : appointment.StartDate;
var end = appointment is null ? parsedEnd : appointment.EndDate;
DateTime.TryParse(startRaw, out var start);
DateTime.TryParse(endRaw, out var end);
if(appointment is object)
{
customerOids = appointment.CustomerList.Select(customer => customer.CustomerOid).ToList();
employeeOids = appointment.EmployeeList.Select(e2a => e2a.Employee.EmployeeOid).ToList();
}
if(isAllDay && start.HasValue && end.HasValue)
if(isAllDay)
{
start = start.Value.MergeDateWithHoursMinutesSeconds(0, 0, 1);
end = end.Value.MergeDateWithHoursMinutesSeconds(0, 0, 1);
start = start.MergeDateWithHoursMinutesSeconds(0, 0, 1);
end = end.MergeDateWithHoursMinutesSeconds(0, 0, 1);
}
if(employeeOids.Count == 0)
@@ -4329,11 +4461,16 @@ namespace BeWoPlanerMobil.Controllers
}
var notice = appointment?.Description ?? TempData[TempDataConstants.AppointmentSubjectKey]?.ToString();
if(appointment is null)
{
notice = TempData[TempDataConstants.AppointmentDescriptionKey]?.ToString() ??
TempData[TempDataConstants.AppointmentSubjectKey]?.ToString();
}
Model.SupportConceptListObjects.Clear(); //Macht, dass beim Init die SupportConcepts neu geladen werden
InitViewModel(true);
var supportConcepts = Model.SupportConcepts.Where(sc => customerOids.Contains(sc.Customer.CustomerOid) && sc.StartDate.HasValue && sc.EndDate.HasValue && start.Value.AreInBetweenDates(end.Value, sc.StartDate.Value, sc.EndDate.Value)).ToList();
var supportConcepts = Model.SupportConcepts.Where(sc => customerOids.Contains(sc.Customer.CustomerOid)).ToList();
var supportConceptList = new List<CompactSupportConceptDC>();
@@ -4349,6 +4486,49 @@ namespace BeWoPlanerMobil.Controllers
supportConceptList.AddIfNotIn(supportConcept);
}
// Falls es sich um einen Serientermin handelt, Ausnahme erstellen und speichern, nachdem der Eintrag in der Datenbank gespeichert wurde.
if(isSerientermin && appointment is null)
{
var customers = CustomerService.GetCompactCustomersById(customerOids);
var employees = EmployeeService.GetActiveCompactEmployeesByOids(employeeOids);
var resources = OperationsService.GetResourcesByOids(resourceOids);
appointment = new SchedulerAppointmentDC
{
StartDate = start,
EndDate = end,
ActivationType = ActivationTypeId.Active,
AllDay = isAllDay,
CustomerList = customers,
ResourceList = resources,
EmployeeList = new List<Employee2SchedulerAppointmentDC>(),
Location = TempData[TempDataConstants.AppointmentLocationKey]?.ToString(),
IsPrivate = TempData[TempDataConstants.AppointmentIsPrivateKey] is true,
Subject = subject,
SupportConceptList = supportConceptList,
Type = (int) AppointmentType.ChangedOccurrence,
Originator = Model.LoggedInUser.Employee
};
foreach(var employee in employees)
{
appointment.EmployeeList.Add(new Employee2SchedulerAppointmentDC { Employee = employee });
}
var recurrenceInfo = TempData[TempDataConstants.AppointmentRecurrenceInfoKey].ToString();
var pattern = StaticAppointmentFactory.CreateAppointment(AppointmentType.Pattern);
pattern.RecurrenceInfo.FromXml(recurrenceInfo);
pattern.Start = pattern.RecurrenceInfo.Start;
pattern.End = pattern.RecurrenceInfo.End;
var apt = pattern.CreateException(AppointmentType.ChangedOccurrence, recurrenceIndex.Value);
appointment = SchedulerAppointmentDC.RecurringExceptionFromDevExpressAppointment(apt, appointment, recurrenceIndex.Value, pattern.RecurrenceInfo.Id.ToString());
TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] = appointment;
}
// Ohne Hilfeplan
if(supportConceptList.Count == 0)
{
@@ -4361,7 +4541,7 @@ namespace BeWoPlanerMobil.Controllers
if(Model.SelectedServiceDescription != null)
{
Model.SelectedServiceCategory = Model.SelectedServiceDescription.Category;
var serviceRecord = CreateServiceRecordFromScratch(start.Value, end.Value, null, Model.SelectedEmployee, notice);
var serviceRecord = CreateServiceRecordFromScratch(start, end, null, Model.SelectedEmployee, notice);
serviceRecord.ServiceDescription = Model.SelectedServiceDescription;
Model.SelectedServiceRecord = serviceRecord;
}
@@ -4389,7 +4569,7 @@ namespace BeWoPlanerMobil.Controllers
LoadSupportConceptThings(scListObject.CostBearer2SupportConceptOid, true);
}
var serviceRecord = CreateServiceRecordFromScratch(start.Value, end.Value, compactSupportConcept?.Customer, Model.SelectedEmployee, notice);
var serviceRecord = CreateServiceRecordFromScratch(start, end, compactSupportConcept?.Customer, Model.SelectedEmployee, notice);
var costBearer = compactSupportConcept?.CostBearerList.FirstOrDefault();
@@ -4403,6 +4583,7 @@ namespace BeWoPlanerMobil.Controllers
{
Model.SelectedServiceRecord = serviceRecord;
}
Model.SelectedCostBearerSupportConceptOid = cb2ScOid;
}
else // Gruppenbuchung
@@ -4411,9 +4592,9 @@ namespace BeWoPlanerMobil.Controllers
Model.GroupBookingSelectedEmployees = Model.AllEmployees.Where(w => employeeOids.Contains(w.EmployeeOid)).ToList();
var roundedDuration = (int) ((end - start)?.TotalMinutes ?? 0);
var roundedDuration = (int) (end - start).TotalMinutes;
Model.SelectedServiceRecord = new ServiceRecordDC()
Model.SelectedServiceRecord = new ServiceRecordDC
{
Start = start,
End = end,
@@ -4439,29 +4620,12 @@ namespace BeWoPlanerMobil.Controllers
if(costBearer2SupportConceptOids.Any())
{
Model.GroupBookingSelectedCostBearerSupportConceptOids = costBearer2SupportConceptOids;
//Model.SelectedConceptCostBearerRelations = costBearer2SupportConcepts;
//Model.GroupBookingSelectedSupportConcepts = supportConceptsForGroupBooking;
}
Model.GroupBookingSelectedEmployeeOids = employeeOids;
}
}
// ToDo: Falls es sich um einen Serientermin handelt, Ausnahme erstellen und speichern, nachdem der Eintrag in der Datenbank gespeichert wurde.
if(isSerientermin)
{
var recurrenceInfo = appointment.RecurrenceInfo;
var pattern = StaticAppointmentFactory.CreateAppointment(AppointmentType.Pattern);
pattern.RecurrenceInfo.FromXml(recurrenceInfo);
var apt = pattern.CreateException(AppointmentType.ChangedOccurrence, recurrenceIndex.Value);
var changedOccurrence = SchedulerAppointmentDC.RecurringExceptionFromDevExpressAppointment(apt, appointment);
var x = apt.RecurrenceIndex;
}
Model.SelectedServiceRecordOid = Model.SelectedServiceRecord?.ServiceRecordOid;
SetSelectedObjects();
@@ -4541,7 +4705,6 @@ namespace BeWoPlanerMobil.Controllers
return RedirectToActionPermanent("Main");
}
#region Mehrfachbuchung
[Authorize]
@@ -4559,8 +4722,6 @@ namespace BeWoPlanerMobil.Controllers
return PartialView("MultiBookingSelectionPartial", Model);
}
[Authorize]
public ActionResult RemoveSupportConceptCostbearerRelFromMultiBooking(string relOid)
{
@@ -4850,6 +5011,11 @@ namespace BeWoPlanerMobil.Controllers
OperationsService.InsertNewServiceRecords(serviceRecordsToInsert);
if(TempData[TempDataConstants.AppointmentOccurrenceToInsertKey] is SchedulerAppointmentDC occurrenceToInsert)
{
KalenderService.InsertSchedulerAppointment(occurrenceToInsert);
}
TempData[TempDataConstants.AfterInsertKey] = true;
}
}

View File

@@ -17,7 +17,6 @@ using BeWo.Service.Plugins;
using DevExpress.XtraReports.UI;
// Controller des Quittierungsbelegsmoduls
namespace BeWoPlanerMobil.Controllers
{
public class ReportController : AbstractBaseController
@@ -152,7 +151,7 @@ namespace BeWoPlanerMobil.Controllers
{
try
{
if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer") || Model?.LoggedInEmployee?.EmployeeOid is null)
if(false == MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer") || Model?.LoggedInEmployee?.EmployeeOid is null)
{
return Logout();
}
@@ -247,10 +246,6 @@ namespace BeWoPlanerMobil.Controllers
{
var stringBuilder = new StringBuilder(isDativ ? string.Empty : "Einträge für ");
// Einträge für [alle Klienten/die Klienten meines Teams/meine Klienten/[CustomerName]/[TeamName]] [von [Mitarbeiter] [bei [Kostenträger]] und [Leistungskategorie]] vom 01.10. bis 31.10.2020
// Einträge für Grube, Clair von Fisher, George bei LWL und face-to-face vom 01.10. bis 31.10.2020
// Unterschrift für x erbrachte Leistungen von
switch(Model.SelectedFilterItem?.FilterEnum)
{
case QBFilterEnum.KlientenAuswahl:
@@ -1012,6 +1007,7 @@ namespace BeWoPlanerMobil.Controllers
TempData[TempDataConstants.DoLogoutKey] = true;
return PartialView("QuittierungsbelegsPreviewPartial");
}
Model.QuittierungsbelegsReport = CreateQuittierungsbelegsReportFromSettings();
return PartialView("QuittierungsbelegsPreviewPartial", Model);
@@ -1019,16 +1015,17 @@ namespace BeWoPlanerMobil.Controllers
private XtraReport CreateQuittierungsbelegsReportFromSettings()
{
if (Model.QuittierungsbelegsReportSettings == null)
if(Model.QuittierungsbelegsReportSettings is null)
{
return null;
}
var s = Model.QuittierungsbelegsReportSettings;
DateTime startDate = new DateTime(s.Year, s.Month, s.StartDay);
DateTime endDate = new DateTime(s.Year, s.Month, s.EndDay);
var reportSettings = Model.QuittierungsbelegsReportSettings;
var report = Model.ReportCreator.CreateServiceOverviewReportNew(s.FilterEnum, s.CustomerOid, s.TeamOid, s.EmployeeOid, s.OrganisationOid, s.ServiceCategoryOid, startDate, endDate, false);
var startDate = new DateTime(reportSettings.Year, reportSettings.Month, reportSettings.StartDay);
var endDate = new DateTime(reportSettings.Year, reportSettings.Month, reportSettings.EndDay);
var report = Model.ReportCreator.CreateServiceOverviewReportNew(reportSettings.FilterEnum, reportSettings.CustomerOid, reportSettings.TeamOid, reportSettings.EmployeeOid, reportSettings.OrganisationOid, reportSettings.ServiceCategoryOid, startDate, endDate, false);
report.ExportOptions.PrintPreview.DefaultFileName = CreateFileName();
report.DisplayName = CreateFileName();
@@ -1042,6 +1039,7 @@ namespace BeWoPlanerMobil.Controllers
var selectedFilter = Model.SelectedFilterItem.FilterEnum;
var filterText = string.Empty;
switch(selectedFilter)
{
case QBFilterEnum.AlleKlienten:
@@ -1083,7 +1081,7 @@ namespace BeWoPlanerMobil.Controllers
fileName += $"{selectedServiceCategory.Name}_";
}
if(!Model.SelectedMonth.HasValue || !Model.SelectedYear.HasValue || !Model.SelectedStartDay.HasValue || !Model.SelectedEndDay.HasValue)
if(false == Model.SelectedMonth.HasValue || false == Model.SelectedYear.HasValue || false == Model.SelectedStartDay.HasValue || false == Model.SelectedEndDay.HasValue)
{
return fileName;
}
@@ -1229,9 +1227,6 @@ namespace BeWoPlanerMobil.Controllers
reportObjects = reportObjects.Where(servicesOverview => false == servicesOverview is null).ToList();
var srOids = new List<long>();
//var srOidsBillable = new List<long>();
//reportObjects.DoForEach(servicesOverview => servicesOverview.Services.DoForEach(s => srOids.AddIfNotIn(s.ServiceRecordOid)));
foreach(var reportObject in reportObjects)
{
@@ -1441,7 +1436,7 @@ namespace BeWoPlanerMobil.Controllers
[Serializable]
public class ConfirmationReceiptSignatureObject
{
public String Identifier { get; }
public string Identifier { get; }
public string ImageStr { get; }
public string InsTsStr { get; }
public string PersonName { get; }

View File

@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web.Mvc;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Service.Plugins;
using BeWo.View.Navigation.Filter;
@@ -17,7 +16,6 @@ using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
// Controller des Auswertungsmoduls
namespace BeWoPlanerMobil.Controllers
{
public class ReportViewerController : ReportBaseController
@@ -28,30 +26,20 @@ namespace BeWoPlanerMobil.Controllers
{
get
{
if(!MobileSessionFacade.IsUserLoggedIn())
if(false == MobileSessionFacade.IsUserLoggedIn())
{
RedirectToActionPermanent("Index", "Login");
return null;
}
if (_Model == null)
if(_Model is null)
{
_Model = new ReportViewerModel { ReportCreator = GetReportCreator() };
InitModel(_Model);
InitViewModel();
}
//if (((ReportViewerModel)Session[ModelSessionConstants.ReportViewerModelKey])?.LoggedInEmployee is null)
//{
// _Model = new ReportViewerModel { ReportCreator = GetReportCreator() };
// Session[ModelSessionConstants.ReportViewerModelKey] = _Model;
//}
//else
//{
// _Model = (ReportViewerModel)Session[ModelSessionConstants.ReportViewerModelKey];
//}
return _Model;
}
}
@@ -203,8 +191,6 @@ namespace BeWoPlanerMobil.Controllers
return Logout();
}
return View(Model);
}
@@ -323,25 +309,6 @@ namespace BeWoPlanerMobil.Controllers
return PartialView("BerichteFormPartialView", Model);
}
//[Authorize]
//private string GetQueryReportUrl(QueryDC query)
//{
// var url = Request?.Url;
// if(Model?.Employee?.EmployeeOid is null || url is null || query is null)
// {
// return null;
// }
// //DEBUG: http://localhost:3777/service
// //RELEASE: https://app4.bewoplaner.de/service
// // http://localhost:3777/Host/ReportView.aspx?dcid=demoqueryeoid372&qoid=1304&type=QueryReport
// var urlSuffix = $"/ReportView.aspx?dcid={MobileSessionFacade.Tenant}queryeoid{Model.Employee.EmployeeOid.Value}&qoid={query.Oid}&type={Utils.EnumName(ReportTypes.QueryReport)}";
// return GetSiteOfOrigin() + urlSuffix;
//}
private string GetSiteOfOrigin()
{
if(Model?.LoggedInEmployee?.EmployeeOid is null)

View File

@@ -1433,21 +1433,27 @@ namespace BeWoPlanerMobil.Controllers
if(appointment?.RecurrenceInfo != null)
{
TempData[TempDataConstants.AppointmentRecurrenceIndexKey] = appointment?.RecurrenceIndex;
TempData[TempDataConstants.AppointmentRecurrenceInfoKey] = appointment.RecurrenceInfo;
TempData[TempDataConstants.AppointmentRecurrenceIndexKey] = appointment.RecurrenceIndex;
}
TempData[TempDataConstants.AppointmentLocationKey] = appointment?.Location;
TempData[TempDataConstants.AppointmentIsPrivateKey] = appointment?.IsPrivate ?? false;
TempData[TempDataConstants.AppointmentDescriptionKey] = appointment?.Description;
TempData[TempDataConstants.AppointmentStartKey] = appointment?.StartDate;
TempData[TempDataConstants.AppointmentEndKey] = appointment?.EndDate;
TempData[TempDataConstants.AppointmentSubjectKey] = appointment?.Subject;
TempData[TempDataConstants.AppointmentIsAllDayKey] = appointment?.AllDay ?? false;
TempData[TempDataConstants.AppointmentCustomerOidsKey] = string.Join(",", appointment?.CustomerList.Select(s => s.CustomerOid) ?? new List<long>());
TempData[TempDataConstants.AppointmentCustomerOidsKey] = string.Join(",", appointment?.CustomerList.Select(customer => customer.CustomerOid) ?? new List<long>());
TempData[TempDataConstants.AppointmentEmployeeOidsKey] = string.Join(",", appointment?.EmployeeList.Select(s => s.Employee.EmployeeOid) ?? new List<long>());
TempData[TempDataConstants.AppointmentEmployeeOidsKey] = string.Join(",", appointment?.EmployeeList.Select(employee2Appointment => employee2Appointment.Employee.EmployeeOid) ?? new List<long>());
TempData[TempDataConstants.AppointmentResourceOidsKey] = string.Join(",", appointment?.ResourceList.Where(resource => resource.ResourceOid.HasValue).Select(resource => resource.ResourceOid.Value) ?? new List<long>());
TempData[TempDataConstants.AppointmentIsSerienterminKey] = appointment != null && appointment.SchedulerAppointmentOid is null && appointment.RecurrenceInfo is string;
return RedirectToActionPermanent("PrepareServiceRecordInsert", "Main");
}

View File

@@ -58,11 +58,61 @@ namespace BeWoPlanerMobil.Models
public bool HasRightToInsertRessourceAppointments => CheckRight(UserRightType.KalenderRessourcentermineAnlegen) || CheckRight(UserRightType.CreateAll);
public bool HasRightToViewQuittierungsbelege
public bool HasRightToUseAiVoice
{
get
{
var showAiVoice = MobileUtils.GetSettingValue(Mandator.Settings, SettingsKeys.ShowAIVoice);
var showOwnChat = MobileUtils.GetSettingValue(Mandator.Settings, SettingsKeys.ShowChat);
#if DEBUG
showAiVoice = "1";
showOwnChat = "1";
//tenant = "4368658435";
//var serverUrl = OwnChatHelper.ErmittleServerURL("1", tenant);
//var apikey = "hNykpBwxE1Y6NmwZBTDQOpPXW6xCgnVHjJ5lh0QDQyCefgcnimC32aZ3CwB4qQl4";
//var userid = "1432790061";
Mandator.OwnChatCode = "HcYki-8hLbQ";
return true;
#endif
if ("1".Equals(showAiVoice) && CheckRight(UserRightType.AiVoiceView))
{
if (LoggedInEmployee != null && Mandator.OwnChatCode == null)
{
Mandator.OwnChatCode = "";
if ("1".Equals(showOwnChat))
{
var es = new BeWo.Service.ServiceImplementations.EmployeeServiceImp();
var empAppCodes = es.GetAllEmployeeAppCodes(LoggedInEmployee.EmployeeOid.Value);
if (empAppCodes != null && empAppCodes.Count > 0)
{
foreach (var item in empAppCodes)
{
if (item.EmployeeCode != null && !item.EmployeeCode.Equals(""))
Mandator.OwnChatCode = item.EmployeeCode;
}
}
}
}
}
return !String.IsNullOrEmpty(Mandator.OwnChatCode);
}
}
public bool HasRightToViewQuittierungsbelege
{
get
{
var showEmployeeSignatureSetting = MobileUtils.GetSettingValue(Mandator.Settings, SettingsKeys.ShowSignature);
#if DEBUG
showEmployeeSignatureSetting = "1";
@@ -72,7 +122,6 @@ namespace BeWoPlanerMobil.Models
}
public bool IsAllowedToSeeSupportConceptFilter
{
get

View File

@@ -18,6 +18,7 @@ namespace BeWoPlanerMobil.Models
//public string Website { get; set; }
//public string PostalCode { get; set; }
public string Settings { get; set; }
public string OwnChatCode { get; set; }
//public string State { get; set; }
//public string Street { get; set; }
//public string Town { get; set; }

View File

@@ -54,7 +54,11 @@ namespace BeWoPlanerMobil.Models
};
[Display(Name = "Klient")]
public long? SelectedCustomerOid { get { return ReportSessionModel.SelectedCustomerOid; } set { ReportSessionModel.SelectedCustomerOid = value; } }
public long? SelectedCustomerOid
{
get => ReportSessionModel.SelectedCustomerOid;
set => ReportSessionModel.SelectedCustomerOid = value;
}
public CompactCustomerDC SelectedCustomer { get; set; }
@@ -148,22 +152,38 @@ namespace BeWoPlanerMobil.Models
set => ReportSessionModel.SelectedEndDay = value;
}
public ConfirmationReceiptObject ConfirmationReceiptObject { get { return ReportSessionModel.ConfirmationReceiptObject; } set { ReportSessionModel.ConfirmationReceiptObject = value; } }
public ConfirmationReceiptObject ConfirmationReceiptObject
{
get => ReportSessionModel.ConfirmationReceiptObject;
set => ReportSessionModel.ConfirmationReceiptObject = value;
}
[Display(Name = "Mitarbeiter")]
public long? SelectedEmployeeOid { get { return ReportSessionModel.SelectedEmployeeOid; } set { ReportSessionModel.SelectedEmployeeOid = value; } }
public long? SelectedEmployeeOid
{
get => ReportSessionModel.SelectedEmployeeOid;
set => ReportSessionModel.SelectedEmployeeOid = value;
}
public CompactEmployeeDC SelectedEmployee { get; set; }
[Display(Name="Kostenträger")]
public long? SelectedOrganisationOid { get { return ReportSessionModel.SelectedOrganisationOid; } set { ReportSessionModel.SelectedOrganisationOid = value; } }
public long? SelectedOrganisationOid
{
get => ReportSessionModel.SelectedOrganisationOid;
set => ReportSessionModel.SelectedOrganisationOid = value;
}
public CompactOrganisationDC SelectedOrganisation { get; set; }
public List<CompactOrganisationDC> Organisations { get; set; } = new List<CompactOrganisationDC>();
[Display(Name="Leistungskategorie")]
public long? SelectedServiceCategoryOid { get { return ReportSessionModel.SelectedServiceCategoryOid; } set { ReportSessionModel.SelectedServiceCategoryOid = value; } }
[Display(Name = "Leistungskategorie")]
public long? SelectedServiceCategoryOid
{
get => ReportSessionModel.SelectedServiceCategoryOid;
set => ReportSessionModel.SelectedServiceCategoryOid = value;
}
public ServiceCategoryDC SelectedServiceCategory { get; set; }
@@ -200,10 +220,11 @@ namespace BeWoPlanerMobil.Models
{
get
{
if (QbFilters == null || !SelectedFilterItemId.HasValue)
if(QbFilters is null || false == SelectedFilterItemId.HasValue)
{
return null;
}
return QbFilters.FirstOrDefault(f => f.FilterEnum == SelectedFilterItemId.Value);
}
}
@@ -235,8 +256,12 @@ namespace BeWoPlanerMobil.Models
}
}
[Display(Name = "Team")]
public long? SelectedTeamOid { get { return ReportSessionModel.SelectedTeamOid; } set { ReportSessionModel.SelectedTeamOid = value; } }
[Display(Name = "Team")]
public long? SelectedTeamOid
{
get => ReportSessionModel.SelectedTeamOid;
set => ReportSessionModel.SelectedTeamOid = value;
}
public CompactTeamDC SelectedTeam { get; set; }
@@ -281,13 +306,36 @@ namespace BeWoPlanerMobil.Models
ConfirmationReceiptSignatures.Where(crs => crs.ConfirmationReceiptSignatureOid != null && confirmationReceiptSignatureOids.Contains(crs.ConfirmationReceiptSignatureOid.Value)).ToList();
}
public bool IsForSelectedEmployeesOnly { get { return ReportSessionModel.IsForSelectedEmployeesOnly; } set { ReportSessionModel.IsForSelectedEmployeesOnly = value; } }
public bool IsForSelectedCostbearersOnly { get { return ReportSessionModel.IsForSelectedCostbearersOnly; } set { ReportSessionModel.IsForSelectedCostbearersOnly = value; } }
public bool IsForSelectedCategoryOnly { get { return ReportSessionModel.IsForSelectedCategoryOnly; } set { ReportSessionModel.IsForSelectedCategoryOnly = value; } }
public bool IsForSelectedEmployeesOnly
{
get => ReportSessionModel.IsForSelectedEmployeesOnly;
set => ReportSessionModel.IsForSelectedEmployeesOnly = value;
}
public List<ConfirmationReceiptSignatureObject> SelectedConfirmationReceiptSignatures { get { return ReportSessionModel.SelectedConfirmationReceiptSignatures; } set { ReportSessionModel.SelectedConfirmationReceiptSignatures = value; } }
public bool IsForSelectedCostbearersOnly
{
get => ReportSessionModel.IsForSelectedCostbearersOnly;
set => ReportSessionModel.IsForSelectedCostbearersOnly = value;
}
public Quittierungsbelegsunterschriftenobjekt Quittierungsbelegsunterschriftenobjekt { get { return ReportSessionModel.Quittierungsbelegsunterschriftenobjekt; } set { ReportSessionModel.Quittierungsbelegsunterschriftenobjekt = value; } }
public bool IsForSelectedCategoryOnly
{
get => ReportSessionModel.IsForSelectedCategoryOnly;
set => ReportSessionModel.IsForSelectedCategoryOnly = value;
}
public List<ConfirmationReceiptSignatureObject> SelectedConfirmationReceiptSignatures
{
get => ReportSessionModel.SelectedConfirmationReceiptSignatures;
set => ReportSessionModel.SelectedConfirmationReceiptSignatures = value;
}
public Quittierungsbelegsunterschriftenobjekt Quittierungsbelegsunterschriftenobjekt
{
get => ReportSessionModel.Quittierungsbelegsunterschriftenobjekt;
set => ReportSessionModel.Quittierungsbelegsunterschriftenobjekt = value;
}
public AbstractReportCreator ReportCreator { get; set; }

View File

@@ -92,6 +92,7 @@ function changeGroupBookingFormEnableState(enableState) {
"#gb-distance-input, " +
"textarea, " +
"#reset-button, " +
"#aivoice-button, " +
"#create-button, " +
"#gb-textbausteine-btn, " +
"#gb-hours-minutes-dropdown-btn, " +
@@ -116,6 +117,7 @@ function changeSingleBookingFormEnableState(enableState) {
"#goals-button, " +
"textarea, " +
"#reset-button, " +
"#aivoice-button, " +
"#create-button, " +
"#statistics-button, " +
"#timeFrameSelect, " +

View File

@@ -109,5 +109,11 @@
public static string IsGroupTabActiveKey => "IsGroupTabActive";
public static string AfterInsertKey => "AfterInsert";
public static string AppointmentRecurrenceIndexKey => "AppointmentRecurrenceIndex";
public static string AppointmentRecurrenceInfoKey => "AppointmentRecurrenceInfo";
public static string AppointmentResourceOidsKey => "AppointmentResourceOids";
public static string AppointmentLocationKey => "Location";
public static string AppointmentIsPrivateKey => "IsPrivate";
public static string AppointmentDescriptionKey => "Description";
public static string AppointmentOccurrenceToInsertKey => "AppointmentOccurrenceToInsert";
}
}

View File

@@ -50,7 +50,15 @@
$("#all-customers-checkbox").prop("checked", (allCustomersCount === selectedCustomersCount));
$("#customer-input-container").load("@Url.Action("UpdateCustomerSelection")", { selectedCustomerOids: selectedCustomerOids }, () => { scheduler.Refresh(); });
showSpinner();
$("#customer-input-container").load(
"@Url.Action("UpdateCustomerSelection")",
{ selectedCustomerOids: selectedCustomerOids },
() => {
scheduler.Refresh();
hideSpinner();
}
);
}
</script>

View File

@@ -54,10 +54,20 @@
const selectedEmployeeOids = $("#employee-input-container input:checked").map(function() { return $(this).attr("id").split("-")[1]; }).get();
const allEmployeesCount = $("#employee-input-container input[type=checkbox]").map(function () { return $(this).attr("id").split("-")[1]; }).get().length;
const selectedEmployeesCount = selectedEmployeeOids.length;
console.log(selectedEmployeeOids);
$("#all-employees-checkbox").prop("checked", (allEmployeesCount === selectedEmployeesCount));
$("#employee-input-container").load("@Url.Action("UpdateEmployeeSelection", "DevExpressScheduler")", {selectedEmployeeOids: selectedEmployeeOids }, () => { scheduler.Refresh(); });
showSpinner();
$("#employee-input-container").load(
"@Url.Action("UpdateEmployeeSelection", "DevExpressScheduler")",
{
selectedEmployeeOids: selectedEmployeeOids
},
() => {
scheduler.Refresh();
hideSpinner();
});
}
</script>

View File

@@ -1,5 +1,4 @@
@using BeWoPlanerMobil.Util
@using BS.Shared.Extensions
@using BS.Shared.Extensions
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
<script type="text/javascript">
@@ -9,8 +8,6 @@
$("#resource-input-container").load("@Url.Action("SelectAllResourcesForFiltering")", { isChecked: isChecked }, () => { scheduler.Refresh(); });
}
function removeSelectedResource(resourceOid) {
const checkbox = $(`#resource-${resourceOid}-checkbox`);
@@ -28,7 +25,17 @@
$("#all-resources-checkbox").prop("checked", (allResourcesCount === selectedResourcesCount));
$("#resource-input-container").load("@Url.Action("UpdateResourceSelection")", { selectedResourceOids: selectedResourceOids }, () => { scheduler.Refresh(); });
showSpinner();
$("#resource-input-container").load(
"@Url.Action("UpdateResourceSelection")",
{
selectedResourceOids: selectedResourceOids
},
() => {
scheduler.Refresh();
hideSpinner();
}
);
}
</script>

View File

@@ -1,140 +1,157 @@
@using BeWoPlanerMobil.Util.Constants
@using BeWoPlanerMobil.Util.SchedulerUtils
@using BS.Shared.DataContracts.Compact
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
@model BeWoPlanerMobil.Models.DevExpressSchedulerModel
@{
ViewBag.Title = "DevExpressScheduler";
}
<script type="text/javascript">
function UpdateSchedulerHeight() {
scheduler.SetHeight(1);
$(window).on("load", () => {
$("#employees-popup-apt-flt").on("hide.bs.modal", function(e) {
$.get("@Url.Action("GetSelectedEmployeesForAptFlt")", function(numberOfSelectedEmployees) {
$("#sel-emp-bdg").text(numberOfSelectedEmployees);
});
});
var containerHeight = ASPxClientUtils.GetDocumentClientHeight();
$("#customers-popup-apt-flt").on("hide.bs.modal", function(e) {
$.get("@Url.Action("GetSelectedCustomersForAptFlt")", function(numberOfSelectedCustomers) {
$("#sel-cus-bdg").text(numberOfSelectedCustomers);
});
});
if(document.body.scrollHeight > containerHeight) {
containerHeight = document.body.scrollHeight;
}
$("#resources-popup-apt-flt").on("hide.bs.modal", function(e) {
$.get("@Url.Action("GetSelectedResourcesForAptFlt")", function(numberOfSelectedResources) {
$("#sel-res-bdg").text(numberOfSelectedResources);
});
});
});
scheduler.SetHeight(containerHeight);
}
function UpdateSchedulerHeight() {
scheduler.SetHeight(1);
function resizeSchedulerEditForm() {
const editFormPopup = $("#abc-table").parent().parent().parent();
var containerHeight = ASPxClientUtils.GetDocumentClientHeight();
const vw = $(window).width();
if(document.body.scrollHeight > containerHeight) {
containerHeight = document.body.scrollHeight;
}
if(editFormPopup.outerWidth() !== undefined && vw < 678) {
const newWidth = vw * .95;
scheduler.SetHeight(containerHeight);
}
const allChildren = editFormPopup.parent().find("*");
function resizeSchedulerEditForm() {
const editFormPopup = $("#abc-table").parent().parent().parent();
allChildren.each((index, element) => {
const item = $(element);
const vw = $(window).width();
if(item[0].tagName === "SCRIPT") {
return;
}
if(editFormPopup.outerWidth() !== undefined && vw < 678) {
const newWidth = vw * .95;
if(item.width() > newWidth) {
item.outerWidth(newWidth);
item.css("max-width", newWidth);
}
});
const allChildren = editFormPopup.parent().find("*");
$("#abc-table").siblings().css("max-width", newWidth);
allChildren.each((index, element) => {
const item = $(element);
editFormPopup.outerWidth(newWidth);
editFormPopup.css("max-width", newWidth);
editFormPopup.css("left", "0");
editFormPopup.css("top", "0");
editFormPopup.css("position", "relative");
editFormPopup.css("margin", "0 auto");
}
}
if(item[0].tagName === "SCRIPT") {
return;
}
function OnAppointmentFormSave(s, e) {
if(IsValidAppointment()) {
scheduler.AppointmentFormSave();
}
}
if(item.width() > newWidth) {
item.outerWidth(newWidth);
item.css("max-width", newWidth);
}
});
function IsValidAppointment() {
$.validator.unobtrusive.parse("form");
$("#abc-table").siblings().css("max-width", newWidth);
return $("form").valid();
}
editFormPopup.outerWidth(newWidth);
editFormPopup.css("max-width", newWidth);
editFormPopup.css("left", "0");
editFormPopup.css("top", "0");
editFormPopup.css("position", "relative");
editFormPopup.css("margin", "0 auto");
}
}
function CloseCustomerGridLookup() {
CustomerGridLookup.ConfirmCurrentSelection();
CustomerGridLookup.HideDropDown();
}
function OnAppointmentFormSave(s, e) {
if(IsValidAppointment()) {
scheduler.AppointmentFormSave();
}
}
function CloseEmployeeGridLookup() {
EmployeeGridLookup.ConfirmCurrentSelection();
EmployeeGridLookup.HideDropDown();
}
function IsValidAppointment() {
$.validator.unobtrusive.parse("form");
function CloseResourceGridLookup() {
ResourceGridLookup.ConfirmCurrentSelection();
ResourceGridLookup.HideDropDown();
}
return $("form").valid();
}
ASPxClientControl.GetControlCollection().ControlsInitialized.AddHandler(function(s, e) {
UpdateSchedulerHeight();
});
function CloseCustomerGridLookup() {
CustomerGridLookup.ConfirmCurrentSelection();
CustomerGridLookup.HideDropDown();
}
ASPxClientControl.GetControlCollection().BrowserWindowResized.AddHandler(function(s, e) {
UpdateSchedulerHeight();
});
function CloseEmployeeGridLookup() {
EmployeeGridLookup.ConfirmCurrentSelection();
EmployeeGridLookup.HideDropDown();
}
function onActiveViewChanged(s, e) {
$.get("@Url.Action("SelectActiveViewType")", { viewTypeName: e.newView });
}
function CloseResourceGridLookup() {
ResourceGridLookup.ConfirmCurrentSelection();
ResourceGridLookup.HideDropDown();
}
function onMenuItemClicked(s, e) {
try {
if(e.itemName === "ToServiceRecord") {
e.handled = true;
scheduler.PerformCallback({ apptID: scheduler.GetSelectedAppointmentIds()[0], actionId: e.itemName });
}
ASPxClientControl.GetControlCollection().ControlsInitialized.AddHandler(function(s, e) {
UpdateSchedulerHeight();
});
if(e.itemName === "ShowAvailableEmployees") {
const start = scheduler.selection.interval.start;
const duration = scheduler.selection.interval.duration;
const tmpDate = new Date();
ASPxClientControl.GetControlCollection().BrowserWindowResized.AddHandler(function(s, e) {
UpdateSchedulerHeight();
});
const end = new Date(tmpDate.setTime(start.getTime() + duration));
function onActiveViewChanged(s, e) {
$.get("@Url.Action("SelectActiveViewType")", { viewTypeName: e.newView });
}
e.handled = true;
function onMenuItemClicked(s, e) {
try {
if(e.itemName === "ToServiceRecord") {
e.handled = true;
scheduler.PerformCallback({ apptID: scheduler.GetSelectedAppointmentIds()[0], actionId: e.itemName });
}
const startStr = getTimeStamp(start, false, false);
const endStr = getTimeStamp(end, false, false);
if(e.itemName === "ShowAvailableEmployees") {
const start = scheduler.selection.interval.start;
const duration = scheduler.selection.interval.duration;
const tmpDate = new Date();
$("#scheduler-container").load("@Url.Action("CheckEmployeeAvailability")", {startString: startStr, endString: endStr});
}
} catch(error) {
console.error(error);
}
}
const end = new Date(tmpDate.setTime(start.getTime() + duration));
function OnAppointmentMenuPopup(s, e) {
const selectedAppointment = scheduler.GetAppointmentById(scheduler.GetSelectedAppointmentIds()[0]);
console.log(selectedAppointment);
for(let i = 0; i < e.item.items.length; i++) {
const currentItem = e.item.items[i];
e.handled = true;
if(currentItem.name === "ToServiceRecord") {
const isTask = selectedAppointment.customField("IsTask");
const isAbsenceTime = selectedAppointment.customField("IsAbsenceTime");
const startStr = getTimeStamp(start, false, false);
const endStr = getTimeStamp(end, false, false);
if(isTask === true || isAbsenceTime === true) {
currentItem.SetVisible(false);
}
}
}
}
$("#scheduler-container").load("@Url.Action("CheckEmployeeAvailability")", {startString: startStr, endString: endStr});
}
} catch(error) {
console.error(error);
}
}
function OnAppointmentMenuPopup(s, e) {
const selectedAppointment = scheduler.GetAppointmentById(scheduler.GetSelectedAppointmentIds()[0]);
console.log(selectedAppointment);
for(let i = 0; i < e.item.items.length; i++) {
const currentItem = e.item.items[i];
if(currentItem.name === "ToServiceRecord") {
const isTask = selectedAppointment.customField("IsTask");
const isAbsenceTime = selectedAppointment.customField("IsAbsenceTime");
if(isTask === true || isAbsenceTime === true) {
currentItem.SetVisible(false);
}
}
}
}
</script>
<div class="dropdown">
@@ -212,17 +229,17 @@
<a href="#" class="dropdown-item" onclick="$('#employees-popup-apt-flt').modal('show')">
<i class="fas fa-user text-bewo-employee"></i>
Mitarbeiter
<span class="badge badge-bewo-employee">0</span>
<span class="badge badge-bewo-employee" id="sel-emp-bdg">0</span>
</a>
<a href="#" class="dropdown-item" onclick="$('#customers-popup-apt-flt').modal('show')">
<i class="fas fa-user text-bewo-customers"></i>
Klienten
<span class="badge badge-bewo-customers">0</span>
<span class="badge badge-bewo-customers" id="sel-cus-bdg">0</span>
</a>
<a href="#" class="dropdown-item">
<i class="fas fa-cubes text-bewo-resource" onclick="$('#resources-popup-apt-flt').modal('show')"></i>
Ressourcen
<span class="badge badge-bewo-resource">0</span>
<span class="badge badge-bewo-resource" id="sel-res-bdg">0</span>
</a>
</div>
</div>

View File

@@ -168,6 +168,94 @@
}
</script>
<script type="text/javascript">
var _externalCallPollingTimer = null;
var _externalCallId = null;
function startExternalCall() {
// Eindeutige ID für diesen Aufruf generieren
_externalCallId = 'ext-' + Date.now() + '-' + Math.random().toString(36).substr(2, 9);
// Callback-URL für das externe System
var callbackUrl = window.location.origin + '@Url.Action("ExternalCallCallback", "Main")' + '?callId=' + encodeURIComponent(_externalCallId);
// Externe URL vom Server ermitteln lassen
$.ajax({
url: '@Url.Action("GetExternalCallUrl", "Main")',
data: { callId: _externalCallId, callbackUrl: callbackUrl },
type: 'GET',
success: function(result) {
if (result && result.success && result.url) {
// Overlay anzeigen und Statustext zurücksetzen
$('#external-call-status-text').text('Um die Aufnahme zu starten, klicken Sie auf den Link, den wir an Ihren ownChat Account gesendet haben.');
document.getElementById('external-call-overlay').style.display = 'flex';
// Externe URL in neuem Tab/Fenster öffnen
window.open(result.url, '_blank');
// Polling starten - prüft regelmäßig ob der Callback aufgerufen wurde
_externalCallPollingTimer = setInterval(function() {
$.ajax({
url: '@Url.Action("CheckExternalCallStatus", "Main")',
data: { callId: _externalCallId },
type: 'GET',
success: function(pollResult) {
if (pollResult && pollResult.completed) {
stopExternalCallPolling();
onExternalCallCompleted(pollResult.data);
} else if (pollResult && pollResult.statusMessage) {
$('#external-call-status-text').text(pollResult.statusMessage);
}
},
error: function() {
// Bei Fehler weiter pollen
}
});
}, 3000);
} else {
// Fehler beim Ermitteln der URL
var errorMsg = (result && result.message) ? result.message : 'Die externe URL konnte nicht ermittelt werden.';
showAlertMessageBox(errorMsg);
_externalCallId = null;
}
},
error: function() {
showAlertMessageBox('Fehler bei der Kommunikation mit dem Server.');
_externalCallId = null;
}
});
}
function cancelExternalCall() {
// callId merken BEVOR stopExternalCallPolling() sie auf null setzt
var callIdToCancel = _externalCallId;
stopExternalCallPolling();
// Server informieren, dass abgebrochen wurde
if (callIdToCancel) {
$.ajax({
url: '@Url.Action("CancelExternalCall", "Main")',
data: { callId: callIdToCancel },
type: 'POST'
});
}
}
function stopExternalCallPolling() {
if (_externalCallPollingTimer) {
clearInterval(_externalCallPollingTimer);
_externalCallPollingTimer = null;
}
_externalCallId = null;
document.getElementById('external-call-overlay').style.display = 'none';
}
function onExternalCallCompleted(data) {
// Hier kann die Rückmeldung vom externen System verarbeitet werden
// z.B. Daten in ein Formularfeld schreiben
console.log('Externer Aufruf abgeschlossen. Daten:', data);
}
</script>
@using(Html.BeginForm("ResetSingleBookingForm", "Main", FormMethod.Post, new { Id = "reset-single-booking-form-form" })) { }
<div class="row">
@@ -580,29 +668,47 @@
</div>
}
<div class="w-100 mt-2">
<button type="button" class="btn btn-primary float-right ml-1" id="create-button" onclick="submitSingleBookingForm()">@Model.SubmitButtonValue</button>
<div class="w-100 mt-2">
<button type="button" class="btn btn-primary float-right ml-1" id="create-button" onclick="submitSingleBookingForm()">@Model.SubmitButtonValue</button>
@if(Model.IsInEditingMode)
@if (Model.IsInEditingMode)
{
using (Html.BeginForm("ResetEditingMode", "Main", FormMethod.Post))
{
using(Html.BeginForm("ResetEditingMode", "Main", FormMethod.Post))
{
<button type="submit" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
}
<button type="submit" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
}
else if(Model.IsInTransferMode)
}
else if (Model.IsInTransferMode)
{
using (Html.BeginForm("ResetTransferMode", "Main", FormMethod.Post))
{
using(Html.BeginForm("ResetTransferMode", "Main", FormMethod.Post))
{
<button type="submit" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
}
<button type="submit" class="btn btn-primary float-right" onclick="showSpinner()">Abbrechen</button>
}
else
{
<button type="button" class="btn btn-primary float-right" id="reset-button" onclick="resetSingleBookingForm();">Abbrechen</button>
}
@Html.Partial("RestoreServiceRecordInputsPartial", Model)
}
else
{
<button type="button" class="btn btn-primary float-right" id="reset-button" onclick="resetSingleBookingForm();">Abbrechen</button>
}
@if (Model.HasRightToUseAiVoice)
{
<button type="button" class="btn btn-primary float-right mr-1" id="aivoice-button" onclick="startExternalCall();">AI Voice</button>
}
@Html.Partial("RestoreServiceRecordInputsPartial", Model)
</div>
@* Waiting-Overlay für externen Aufruf *@
<div id="external-call-overlay" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.6); z-index:9999; justify-content:center; align-items:center;">
<div style="background:white; border-radius:8px; padding:30px; text-align:center; box-shadow:0 4px 20px rgba(0,0,0,0.3);">
<div class="mb-3">
<i class="fa fa-spinner fa-spin fa-2x"></i>
</div>
<p class="mb-3" id="external-call-status-text">Warte auf Rückmeldung vom externen System...</p>
<button type="button" class="btn btn-danger" onclick="cancelExternalCall();">Abbrechen</button>
</div>
</div>
}
</div>

View File

@@ -266,7 +266,7 @@
<hr />
}
@if(Model.HasRightToEditAppointment(appointment.Identifier) && !appointment.IsTask && appointment.CanBeEdited)
@if(Model.HasRightToEditAppointment(appointment.Identifier) && false == appointment.IsTask && appointment.CanBeEdited)
{
<div class="row mb-3 p-0">
@if(appointment.Oid.HasValue)
@@ -283,9 +283,9 @@
}
<div class="col-auto">
<button type="button" class="btn btn-primary" onclick="deleteAppointment(@(appointment.Oid ?? 0), '@appointment.Identifier', @appointment.IsException.ToString().ToLower(), '@appointment.Subject')">
<span class="fas fa-trash-alt"></span>
</button>
<button type="button" class="btn btn-primary" onclick="deleteAppointment(@(appointment.Oid ?? 0), '@appointment.Identifier', @appointment.IsException.ToString().ToLower(), '@appointment.Subject')">
<span class="fas fa-trash-alt"></span>
</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-bewo-service-records" onclick="copyToServiceRecord('@appointment.Identifier')">

View File

@@ -55,7 +55,7 @@
<script type="text/javascript" src="@Scripts.Url("~/Scripts/moment/locale/de.js")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/mobileUtils.js?v=1.9")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/view-scripts/main.js?v=2.6")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/view-scripts/main.js?v=2.7")"></script>
<script type="text/javascript" src="@Scripts.Url("~/Scripts/ownSoft-Scripts/signature.js?v=1.5")"></script>
<link type="text/css" rel="stylesheet" href="@Url.Content("~/Scripts/bootstrap/bootstrap4-modal-fullscreen.min.css")" />

View File

@@ -6695,6 +6695,14 @@ WHERE sc.Billable = 1 and sr.StartDate >= '{0:yyyy-MM-dd}' and sr.StartDate < '{
return transactionsCriteriaResult;
}
}
public List<Employee> GetActiveEmployeesByOids(List<long> employeeOids)
{
var criteria = CreateCriteriaIsActive<Employee>().Add(Restrictions.In(nameof(BeWoEntityBase.Oid), employeeOids));
return criteria.List<Employee>().ToList();
}
}
}

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<NameOfLastUsedPublishProfile>C:\Projects\Bewo\BeWo - Main\Host\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>

View File

@@ -167,7 +167,8 @@ namespace BeWo.Report.DefaultReports
this.xrTable3.BorderColor = System.Drawing.Color.Black;
this.xrTable3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable3.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable3.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -197,7 +198,8 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDate", "{0:dd/MM/yyyy}")});
this.xrTableCell13.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell13.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.StylePriority.UseBorders = false;
this.xrTableCell13.StylePriority.UseFont = false;
@@ -211,7 +213,8 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.StartDateMinutes", "{0:HH:mm}")});
this.xrTableCell14.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell14.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseBorders = false;
this.xrTableCell14.StylePriority.UseFont = false;
@@ -225,7 +228,8 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EndDateMinutes", "{0:HH:mm}")});
this.xrTableCell10.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell10.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UseBorders = false;
this.xrTableCell10.StylePriority.UseFont = false;
@@ -239,7 +243,8 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.Notice5")});
this.xrTableCell2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell2.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
@@ -251,7 +256,8 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.CustomerCount", "{0:0}")});
this.xrTableCell15.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell15.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.StylePriority.UseBorders = false;
this.xrTableCell15.StylePriority.UseFont = false;
@@ -264,7 +270,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.Minutes", "{0:0.##}")});
this.xrTableCell12.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell12.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UseFont = false;
@@ -321,7 +327,8 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableServiceRecords1.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableServiceRecords1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrTableServiceRecords1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableServiceRecords1.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableServiceRecords1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTableServiceRecords1.Name = "xrTableServiceRecords1";
this.xrTableServiceRecords1.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -352,7 +359,8 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell3.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell3.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseBorders = false;
@@ -367,7 +375,8 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell4.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell4.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell4.Multiline = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(4, 4, 0, 0, 100F);
@@ -383,7 +392,8 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell11.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell11.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell11.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(12, 12, 0, 0, 100F);
this.xrTableCell11.StylePriority.UseBorders = false;
@@ -398,7 +408,8 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell9.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell9.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell9.Multiline = true;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -414,7 +425,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell28.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell28.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell28.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell28.Name = "xrTableCell28";
this.xrTableCell28.StylePriority.UseBorders = false;
this.xrTableCell28.StylePriority.UseFont = false;
@@ -427,7 +438,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell48.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrTableCell48.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell48.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell48.Multiline = true;
this.xrTableCell48.Name = "xrTableCell48";
this.xrTableCell48.StylePriority.UseBorders = false;
@@ -463,7 +474,8 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell8.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell8.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell8.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.StylePriority.UseBorders = false;
this.xrTableCell8.StylePriority.UseFont = false;
@@ -477,7 +489,8 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell5.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell5.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell5.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseBorders = false;
this.xrTableCell5.StylePriority.UseFont = false;
@@ -491,7 +504,8 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell6.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell6.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell6.Multiline = true;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseBorders = false;
@@ -506,7 +520,8 @@ namespace BeWo.Report.DefaultReports
this.xrTableCell7.BackColor = System.Drawing.Color.Gainsboro;
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell7.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell7.Multiline = true;
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseBackColor = false;
@@ -521,7 +536,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell43.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell43.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell43.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell43.Name = "xrTableCell43";
this.xrTableCell43.StylePriority.UseBorders = false;
this.xrTableCell43.StylePriority.UseFont = false;
@@ -531,7 +546,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrTableCell49.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell49.Font = new System.Drawing.Font("Arial", 10F);
this.xrTableCell49.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrTableCell49.Multiline = true;
this.xrTableCell49.Name = "xrTableCell49";
this.xrTableCell49.StylePriority.UseBorders = false;
@@ -572,7 +587,7 @@ namespace BeWo.Report.DefaultReports
this.xrLabel14.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel14.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel14.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel14.LocationFloat = new DevExpress.Utils.PointFloat(414.9999F, 47.1111F);
this.xrLabel14.Name = "xrLabel14";
this.xrLabel14.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -590,7 +605,7 @@ namespace BeWo.Report.DefaultReports
this.xrLabel16.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel16.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ApprovedFLSPerWeek", "{0:0.##}")});
this.xrLabel16.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel16.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(593.75F, 47.1111F);
this.xrLabel16.Name = "xrLabel16";
this.xrLabel16.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -608,7 +623,7 @@ namespace BeWo.Report.DefaultReports
this.xrLabel7.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel7.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel7.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(415F, 77.6111F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -625,7 +640,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrLabel8.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel8.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel8.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 77.6111F);
this.xrLabel8.Name = "xrLabel8";
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -642,7 +657,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrLabel6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel6.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel6.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(170F, 77.6111F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -658,7 +673,7 @@ namespace BeWo.Report.DefaultReports
// xrLabel5
//
this.xrLabel5.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel5.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel5.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(170F, 47.1111F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -677,7 +692,7 @@ namespace BeWo.Report.DefaultReports
this.xrLabel4.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel4.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel4.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(49.36111F, 77.6111F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -695,7 +710,7 @@ namespace BeWo.Report.DefaultReports
this.xrLabel3.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel3.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)));
this.xrLabel3.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel3.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(49.3611F, 47.11109F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -710,7 +725,8 @@ namespace BeWo.Report.DefaultReports
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrLabel2.ForeColor = System.Drawing.Color.Black;
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Multiline = true;
@@ -746,7 +762,6 @@ namespace BeWo.Report.DefaultReports
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 100F;
this.topMarginBand1.Name = "topMarginBand1";
//
// bottomMarginBand1
@@ -788,7 +803,7 @@ namespace BeWo.Report.DefaultReports
// xrLabel22
//
this.xrLabel22.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel22.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel22.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel22.LocationFloat = new DevExpress.Utils.PointFloat(244.9998F, 20.00001F);
this.xrLabel22.Name = "xrLabel22";
this.xrLabel22.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -804,7 +819,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrLabel23.BackColor = System.Drawing.Color.Transparent;
this.xrLabel23.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel23.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel23.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel23.LocationFloat = new DevExpress.Utils.PointFloat(329.9998F, 20.00001F);
this.xrLabel23.Name = "xrLabel23";
this.xrLabel23.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -819,7 +834,7 @@ namespace BeWo.Report.DefaultReports
// xrLabel19
//
this.xrLabel19.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel19.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel19.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(244.9999F, 40.00003F);
this.xrLabel19.Name = "xrLabel19";
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -837,7 +852,7 @@ namespace BeWo.Report.DefaultReports
this.xrLabel20.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel20.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMFehlkontakte", "{0:0.##}")});
this.xrLabel20.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel20.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel20.LocationFloat = new DevExpress.Utils.PointFloat(329.9999F, 40.00003F);
this.xrLabel20.Name = "xrLabel20";
this.xrLabel20.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -853,7 +868,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrLabel21.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel21.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel21.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel21.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel21.LocationFloat = new DevExpress.Utils.PointFloat(414.9999F, 40.00003F);
this.xrLabel21.Name = "xrLabel21";
this.xrLabel21.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -868,7 +883,7 @@ namespace BeWo.Report.DefaultReports
//
// lblFehlkontakt
//
this.lblFehlkontakt.Font = new System.Drawing.Font("Arial", 10F);
this.lblFehlkontakt.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblFehlkontakt.LocationFloat = new DevExpress.Utils.PointFloat(0F, 40.00005F);
this.lblFehlkontakt.Name = "lblFehlkontakt";
this.lblFehlkontakt.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -895,7 +910,7 @@ namespace BeWo.Report.DefaultReports
// xrPictureBox2
//
this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Image", null, "CustomerSignature")});
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "CustomerSignature")});
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(186.6944F, 214.5F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(199.3611F, 35.50002F);
@@ -904,7 +919,7 @@ namespace BeWo.Report.DefaultReports
// lblUnterschriftKlient
//
this.lblUnterschriftKlient.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.lblUnterschriftKlient.Font = new System.Drawing.Font("Arial", 10F);
this.lblUnterschriftKlient.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblUnterschriftKlient.LocationFloat = new DevExpress.Utils.PointFloat(49.3611F, 250F);
this.lblUnterschriftKlient.Name = "lblUnterschriftKlient";
this.lblUnterschriftKlient.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -920,7 +935,7 @@ namespace BeWo.Report.DefaultReports
// lblUnterschriftMitarbeiter
//
this.lblUnterschriftMitarbeiter.Borders = DevExpress.XtraPrinting.BorderSide.Top;
this.lblUnterschriftMitarbeiter.Font = new System.Drawing.Font("Arial", 10F);
this.lblUnterschriftMitarbeiter.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblUnterschriftMitarbeiter.LocationFloat = new DevExpress.Utils.PointFloat(398.31F, 250F);
this.lblUnterschriftMitarbeiter.Name = "lblUnterschriftMitarbeiter";
this.lblUnterschriftMitarbeiter.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -939,7 +954,8 @@ namespace BeWo.Report.DefaultReports
this.xrTableAbwesenheiten.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableAbwesenheiten.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableAbwesenheiten.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableAbwesenheiten.LocationFloat = new DevExpress.Utils.PointFloat(170F, 80.00005F);
this.xrTableAbwesenheiten.Name = "xrTableAbwesenheiten";
this.xrTableAbwesenheiten.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
@@ -967,7 +983,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell16
//
this.xrTableCell16.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell16.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.StylePriority.UseBorders = false;
this.xrTableCell16.StylePriority.UseFont = false;
@@ -979,7 +996,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell17
//
this.xrTableCell17.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell17.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.StylePriority.UseBorders = false;
this.xrTableCell17.StylePriority.UseFont = false;
@@ -991,7 +1009,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell18
//
this.xrTableCell18.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell18.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseBorders = false;
this.xrTableCell18.StylePriority.UseFont = false;
@@ -1012,7 +1031,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell19
//
this.xrTableCell19.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell19.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
this.xrTableCell19.StylePriority.UseTextAlignment = false;
@@ -1021,7 +1041,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell20
//
this.xrTableCell20.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell20.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.StylePriority.UseFont = false;
this.xrTableCell20.StylePriority.UseTextAlignment = false;
@@ -1030,7 +1051,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell21
//
this.xrTableCell21.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell21.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseFont = false;
this.xrTableCell21.StylePriority.UseTextAlignment = false;
@@ -1048,7 +1070,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell22
//
this.xrTableCell22.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell22.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.StylePriority.UseFont = false;
this.xrTableCell22.StylePriority.UseTextAlignment = false;
@@ -1057,7 +1080,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell23
//
this.xrTableCell23.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell23.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.StylePriority.UseFont = false;
this.xrTableCell23.StylePriority.UseTextAlignment = false;
@@ -1066,7 +1090,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell24
//
this.xrTableCell24.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell24.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell24.Name = "xrTableCell24";
this.xrTableCell24.StylePriority.UseFont = false;
this.xrTableCell24.StylePriority.UseTextAlignment = false;
@@ -1084,7 +1109,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell25
//
this.xrTableCell25.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell25.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell25.Name = "xrTableCell25";
this.xrTableCell25.StylePriority.UseFont = false;
this.xrTableCell25.StylePriority.UseTextAlignment = false;
@@ -1093,7 +1119,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell26
//
this.xrTableCell26.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell26.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell26.Name = "xrTableCell26";
this.xrTableCell26.StylePriority.UseFont = false;
this.xrTableCell26.StylePriority.UseTextAlignment = false;
@@ -1102,7 +1129,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell27
//
this.xrTableCell27.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell27.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell27.Name = "xrTableCell27";
this.xrTableCell27.StylePriority.UseFont = false;
this.xrTableCell27.StylePriority.UseTextAlignment = false;
@@ -1120,7 +1148,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell29
//
this.xrTableCell29.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell29.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell29.Name = "xrTableCell29";
this.xrTableCell29.StylePriority.UseFont = false;
this.xrTableCell29.StylePriority.UseTextAlignment = false;
@@ -1129,7 +1158,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell30
//
this.xrTableCell30.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell30.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell30.Name = "xrTableCell30";
this.xrTableCell30.StylePriority.UseFont = false;
this.xrTableCell30.StylePriority.UseTextAlignment = false;
@@ -1138,7 +1168,8 @@ namespace BeWo.Report.DefaultReports
//
// xrTableCell31
//
this.xrTableCell31.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell31.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTableCell31.Name = "xrTableCell31";
this.xrTableCell31.StylePriority.UseFont = false;
this.xrTableCell31.StylePriority.UseTextAlignment = false;
@@ -1150,7 +1181,7 @@ namespace BeWo.Report.DefaultReports
this.lblHatAbwesenheiten.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.lblHatAbwesenheiten.Font = new System.Drawing.Font("Arial", 10F);
this.lblHatAbwesenheiten.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblHatAbwesenheiten.LocationFloat = new DevExpress.Utils.PointFloat(435.1388F, 130F);
this.lblHatAbwesenheiten.Name = "lblHatAbwesenheiten";
this.lblHatAbwesenheiten.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -1167,7 +1198,7 @@ namespace BeWo.Report.DefaultReports
this.lblHatGruppen.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.lblHatGruppen.Font = new System.Drawing.Font("Arial", 10F);
this.lblHatGruppen.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.lblHatGruppen.LocationFloat = new DevExpress.Utils.PointFloat(435.1388F, 80.00005F);
this.lblHatGruppen.Name = "lblHatGruppen";
this.lblHatGruppen.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -1181,7 +1212,7 @@ namespace BeWo.Report.DefaultReports
//
// xrRichText2
//
this.xrRichText2.Font = new System.Drawing.Font("Arial", 8F);
this.xrRichText2.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrRichText2.LocationFloat = new DevExpress.Utils.PointFloat(474.4724F, 130F);
this.xrRichText2.Name = "xrRichText2";
this.xrRichText2.SerializableRtfString = resources.GetString("xrRichText2.SerializableRtfString");
@@ -1190,7 +1221,7 @@ namespace BeWo.Report.DefaultReports
//
// xrRichText1
//
this.xrRichText1.Font = new System.Drawing.Font("Arial", 8F);
this.xrRichText1.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(474.4724F, 80.00005F);
this.xrRichText1.Name = "xrRichText1";
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
@@ -1199,7 +1230,7 @@ namespace BeWo.Report.DefaultReports
//
// xrLabel15
//
this.xrLabel15.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Underline);
this.xrLabel15.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Underline);
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 80.00005F);
this.xrLabel15.Multiline = true;
this.xrLabel15.Name = "xrLabel15";
@@ -1215,7 +1246,7 @@ namespace BeWo.Report.DefaultReports
//
// xrLabel13
//
this.xrLabel13.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel13.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel13.LocationFloat = new DevExpress.Utils.PointFloat(0F, 20.00004F);
this.xrLabel13.Name = "xrLabel13";
this.xrLabel13.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -1230,7 +1261,7 @@ namespace BeWo.Report.DefaultReports
//
// xrLabel12
//
this.xrLabel12.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel12.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel12.Name = "xrLabel12";
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -1247,7 +1278,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrLabel11.BackColor = System.Drawing.Color.Transparent;
this.xrLabel11.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel11.Font = new System.Drawing.Font("Arial", 8F);
this.xrLabel11.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(415F, 20.00001F);
this.xrLabel11.Name = "xrLabel11";
this.xrLabel11.SizeF = new System.Drawing.SizeF(320F, 20F);
@@ -1263,7 +1294,7 @@ namespace BeWo.Report.DefaultReports
//
this.xrLabel10.BackColor = System.Drawing.Color.Gainsboro;
this.xrLabel10.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel10.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel10.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(415F, 0F);
this.xrLabel10.Name = "xrLabel10";
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -1279,7 +1310,7 @@ namespace BeWo.Report.DefaultReports
// xrLabel9
//
this.xrLabel9.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrLabel9.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel9.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(245F, 0F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -1297,7 +1328,7 @@ namespace BeWo.Report.DefaultReports
this.xrLabel1.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "TotalFLMoFehlkontakte", "{0:0.##}")});
this.xrLabel1.Font = new System.Drawing.Font("Arial", 10F);
this.xrLabel1.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(330F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F);
@@ -1312,7 +1343,7 @@ namespace BeWo.Report.DefaultReports
// xrPictureBox1
//
this.xrPictureBox1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Image", null, "EmployeeSignature")});
new DevExpress.XtraReports.UI.XRBinding("ImageSource", null, "EmployeeSignature")});
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 214.5F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.Scripts.OnBeforePrint = "xrPictureBox1_BeforePrint";
@@ -1351,17 +1382,17 @@ namespace BeWo.Report.DefaultReports
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.fieldKontaktArt});
this.DataSource = this.bindingSource1;
this.Font = new System.Drawing.Font("Arial", 10F);
this.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRuleStartDate,
this.formattingRuleServiceDesc,
this.formattingRuleCostBearer,
this.formattingRuleEmployeeName});
this.Margins = new System.Drawing.Printing.Margins(50, 30, 100, 30);
this.Margins = new DevExpress.Drawing.DXMargins(50F, 30F, 100F, 30F);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Version = "17.1";
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();

View File

@@ -117,9 +117,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>21, 17</value>
</metadata>
<data name="xrRichText2.SerializableRtfString" xml:space="preserve">
<value>ewBcAHIAdABmADEAXABkAGUAZgBmADAAewBcAGYAbwBuAHQAdABiAGwAewBcAGYAMAAgAEMAYQBsAGkAYgByAGkAOwB9AHsAXABmADEAIABUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgA7AH0AewBcAGYAMgAgAEEAcgBpAGEAbAA7AH0AfQB7AFwAYwBvAGwAbwByAHQAYgBsACAAOwBcAHIAZQBkADAAXABnAHIAZQBlAG4AMABcAGIAbAB1AGUAMAAgADsAXAByAGUAZAAwAFwAZwByAGUAZQBuADAAXABiAGwAdQBlADIANQA1ACAAOwB9AHsAXAAqAFwAZABlAGYAYwBoAHAAIABcAGYAMQBcAGYAcwAyADQAfQB7AFwAcwB0AHkAbABlAHMAaABlAGUAdAAgAHsAXABxAGwAXABmADEAXABmAHMAMgA0ACAATgBvAHIAbQBhAGwAOwB9AHsAXAAqAFwAYwBzADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABEAGUAZgBhAHUAbAB0ACAAUABhAHIAYQBnAHIAYQBwAGgAIABGAG8AbgB0ADsAfQB7AFwAKgBcAGMAcwAyAFwAcwBiAGEAcwBlAGQAbwBuADEAXABmADEAXABmAHMAMgA0AFwAYwBmADEAIABMAGkAbgBlACAATgB1AG0AYgBlAHIAOwB9AHsAXAAqAFwAYwBzADMAXAB1AGwAXABmADEAXABmAHMAMgA0AFwAYwBmADIAIABIAHkAcABlAHIAbABpAG4AawA7AH0AewBcACoAXAB0AHMANABcAHQAcwByAG8AdwBkAFwAZgAxAFwAZgBzADIANABcAHEAbABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgBsADMAXAB0AHMAYwBlAGwAbABwAGEAZABkAGwAMQAwADgAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAYgAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwBjAGUAbABsAHAAYQBkAGQAZgB0ADMAXAB0AHMAdgBlAHIAdABhAGwAdABcAGMAbAB0AHgAbAByAHQAYgAgAE4AbwByAG0AYQBsACAAVABhAGIAbABlADsAfQB7AFwAKgBcAHQAcwA1AFwAdABzAHIAbwB3AGQAXABzAGIAYQBzAGUAZABvAG4ANABcAGYAMQBcAGYAcwAyADQAXABxAGwAXAB0AHIAYgByAGQAcgB0AFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGwAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAYgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHIAYgByAGQAcgByAFwAYgByAGQAcgBzAFwAYgByAGQAcgB3ADEAMABcAHQAcgBiAHIAZAByAGgAXABiAHIAZAByAHMAXABiAHIAZAByAHcAMQAwAFwAdAByAGIAcgBkAHIAdgBcAGIAcgBkAHIAcwBcAGIAcgBkAHIAdwAxADAAXAB0AHMAYwBlAGwAbABwAGEAZABkAGYAbAAzAFwAdABzAGMAZQBsAGwAcABhAGQAZABsADEAMAA4AFwAdABzAGMAZQBsAGwAcABhAGQAZABmAHIAMwBcAHQAcwBjAGUAbABsAHAAYQBkAGQAcgAxADAAOABcAHQAcwB2AGUAcgB0AGEAbAB0AFwAYwBsAHQAeABsAHIAdABiACAAVABhAGIAbABlACAAUwBpAG0AcABsAGUAIAAxADsAfQB9AHsAXAAqAFwAbABpAHMAdABvAHYAZQByAHIAaQBkAGUAdABhAGIAbABlAH0AXABuAG8AdQBpAGMAbwBtAHAAYQB0AFwAcwBwAGwAeQB0AHcAbgBpAG4AZQBcAGgAdABtAGEAdQB0AHMAcABcAHAAYQByAGQAXABwAGwAYQBpAG4AXABxAGwAewBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAEsAZQBpAG4AZQAgAH0AewBcAGwAYQBuAGcAMQAwADMAMQBcAGwAYQBuAGcAZgBlADEAMAAzADEAXAB1AGwAXABmADIAXABmAHMAMgAwAFwAYwBmADEAIABLAHIAYQBuAGsAZQBuAGgAYQB1AHMAYQB1AGYAZQBuAHQAaABhAGwAdABlAH0AXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAdQBsAFwAZgAyAFwAZgBzADIAMABcAGMAZgAxAFwAcABhAHIAXABwAGEAcgBkAFwAcABsAGEAaQBuAFwAcQBsAHsAXABsAGEAbgBnADEAMAAzADEAXABsAGEAbgBnAGYAZQAxADAAMwAxAFwAdQBsAFwAZgAyAFwAZgBzADIAMABcAGMAZgAxACAAYgBlAGsAYQBuAG4AdAAgAG8AZABlAHIAIAB9AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQBcAHAAYQByAFwAcABhAHIAZABcAHAAbABhAGkAbgBcAHEAbAB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAHUAbABcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgAGEAYgByAGUAYwBoAG4AdQBuAGcAcwByAGUAbABlAHYAYQBuAHQAfQB7AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMgBcAGYAcwAyADAAXABjAGYAMQAgACAAaQBtACAAQQBiAHIAZQBjAGgAbgB1AG4AZwBzAHoAZQBpAHQAcgBhAHUAbQB9AFwAbABhAG4AZwAxADAAMwAxAFwAbABhAG4AZwBmAGUAMQAwADMAMQBcAGYAMQBcAGYAcwAyADQAXABjAGYAMQBcAHAAYQByAH0A</value>
</data>

View File

@@ -0,0 +1,430 @@
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
partial class AsaStatistikReport
{
/// <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);
}
#region Designer generated code
/// <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();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.lblVersion = new DevExpress.XtraReports.UI.XRLabel();
this.lblTitel = new DevExpress.XtraReports.UI.XRLabel();
this.lblVermLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblVermWert = new DevExpress.XtraReports.UI.XRLabel();
this.lblStaLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblStaWert = new DevExpress.XtraReports.UI.XRLabel();
this.lblBerLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblBerWert = new DevExpress.XtraReports.UI.XRLabel();
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
this.tblHeader = new DevExpress.XtraReports.UI.XRTable();
this.tblHeaderRow = new DevExpress.XtraReports.UI.XRTableRow();
this.cellHPos = new DevExpress.XtraReports.UI.XRTableCell();
this.cellHBeschr = new DevExpress.XtraReports.UI.XRTableCell();
this.cellHWert = new DevExpress.XtraReports.UI.XRTableCell();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.tblDetail = new DevExpress.XtraReports.UI.XRTable();
this.tblDetailRow = new DevExpress.XtraReports.UI.XRTableRow();
this.cellPos = new DevExpress.XtraReports.UI.XRTableCell();
this.cellBeschr = new DevExpress.XtraReports.UI.XRTableCell();
this.cellWert = new DevExpress.XtraReports.UI.XRTableCell();
this.ruleHighlighted = new DevExpress.XtraReports.UI.FormattingRule();
this.ruleSectionHeader = new DevExpress.XtraReports.UI.FormattingRule();
this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
this.paramVermittlungsstelle = new DevExpress.XtraReports.Parameters.Parameter();
this.paramStaatsanwaltschaft = new DevExpress.XtraReports.Parameters.Parameter();
this.paramBerichtszeitraum = new DevExpress.XtraReports.Parameters.Parameter();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tblHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tblDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.Straffaelligenhilfe.AsaStatistikReportRow);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblVersion,
this.lblTitel,
this.lblVermLabel,
this.lblVermWert,
this.lblStaLabel,
this.lblStaWert,
this.lblBerLabel,
this.lblBerWert});
this.ReportHeader.HeightF = 84F;
this.ReportHeader.Name = "ReportHeader";
//
// lblVersion
//
this.lblVersion.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVersion.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.lblVersion.Name = "lblVersion";
this.lblVersion.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVersion.SizeF = new System.Drawing.SizeF(80F, 18F);
this.lblVersion.Text = "V 2014.1";
//
// lblTitel
//
this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(80F, 0F);
this.lblTitel.Name = "lblTitel";
this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblTitel.SizeF = new System.Drawing.SizeF(989F, 18F);
this.lblTitel.StylePriority.UseFont = false;
this.lblTitel.StylePriority.UseTextAlignment = false;
this.lblTitel.Text = "Statistik der Aufsuchenden Sozialarbeit (ASA)";
this.lblTitel.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// lblVermLabel
//
this.lblVermLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVermLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 20F);
this.lblVermLabel.Name = "lblVermLabel";
this.lblVermLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVermLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblVermLabel.Text = "Vermittlungsstelle (Ort):";
//
// lblVermWert
//
this.lblVermWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Vermittlungsstelle]")});
this.lblVermWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVermWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 20F);
this.lblVermWert.Name = "lblVermWert";
this.lblVermWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVermWert.SizeF = new System.Drawing.SizeF(300F, 18F);
//
// lblStaLabel
//
this.lblStaLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblStaLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 40F);
this.lblStaLabel.Name = "lblStaLabel";
this.lblStaLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblStaLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblStaLabel.Text = "Staatsanwaltschaft / Landgerichtsbezirk:";
//
// lblStaWert
//
this.lblStaWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Staatsanwaltschaft]")});
this.lblStaWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblStaWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 40F);
this.lblStaWert.Name = "lblStaWert";
this.lblStaWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblStaWert.SizeF = new System.Drawing.SizeF(300F, 18F);
//
// lblBerLabel
//
this.lblBerLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblBerLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 60F);
this.lblBerLabel.Name = "lblBerLabel";
this.lblBerLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblBerLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblBerLabel.Text = "Berichtszeitraum:";
//
// lblBerWert
//
this.lblBerWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "FormatString('{0:dd.MM.yyyy}', [Parameters.Berichtszeitraum])")});
this.lblBerWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblBerWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 60F);
this.lblBerWert.Name = "lblBerWert";
this.lblBerWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblBerWert.SizeF = new System.Drawing.SizeF(200F, 18F);
//
// PageHeader
//
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.tblHeader});
this.PageHeader.HeightF = 28F;
this.PageHeader.Name = "PageHeader";
//
// tblHeader
//
this.tblHeader.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.tblHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.tblHeader.BorderWidth = 0.5F;
this.tblHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.tblHeader.Name = "tblHeader";
this.tblHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.tblHeaderRow});
this.tblHeader.SizeF = new System.Drawing.SizeF(1069F, 28F);
//
// tblHeaderRow
//
this.tblHeaderRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.cellHPos,
this.cellHBeschr,
this.cellHWert});
this.tblHeaderRow.Name = "tblHeaderRow";
this.tblHeaderRow.Weight = 1.0D;
//
// cellHPos
//
this.cellHPos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHPos.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHPos.Name = "cellHPos";
this.cellHPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHPos.StylePriority.UseFont = false;
this.cellHPos.StylePriority.UseTextAlignment = false;
this.cellHPos.Text = "Pos.";
this.cellHPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHPos.Weight = 0.20D;
//
// cellHBeschr
//
this.cellHBeschr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHBeschr.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHBeschr.Name = "cellHBeschr";
this.cellHBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHBeschr.StylePriority.UseFont = false;
this.cellHBeschr.StylePriority.UseTextAlignment = false;
this.cellHBeschr.Text = "1 Auftrag = 1 Person !!!";
this.cellHBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHBeschr.Weight = 1.40D;
//
// cellHWert
//
this.cellHWert.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHWert.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHWert.Name = "cellHWert";
this.cellHWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHWert.StylePriority.UseFont = false;
this.cellHWert.StylePriority.UseTextAlignment = false;
this.cellHWert.Text = "zur Abwendung einer\nErsatzfreiheitsstrafe";
this.cellHWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHWert.Weight = 0.40D;
//
// Detail
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.tblDetail});
this.Detail.HeightF = 16F;
this.Detail.Name = "Detail";
//
// tblDetail
//
this.tblDetail.AnchorVertical = ((DevExpress.XtraReports.UI.VerticalAnchorStyles)((DevExpress.XtraReports.UI.VerticalAnchorStyles.Top | DevExpress.XtraReports.UI.VerticalAnchorStyles.Bottom)));
this.tblDetail.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.tblDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.tblDetail.BorderWidth = 0.5F;
this.tblDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.tblDetail.Name = "tblDetail";
this.tblDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.tblDetailRow});
this.tblDetail.SizeF = new System.Drawing.SizeF(1069F, 16F);
//
// tblDetailRow
//
this.tblDetailRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.cellPos,
this.cellBeschr,
this.cellWert});
this.tblDetailRow.FormattingRules.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleHighlighted,
this.ruleSectionHeader});
this.tblDetailRow.Name = "tblDetailRow";
this.tblDetailRow.Weight = 11.5D;
//
// cellPos
//
this.cellPos.CanGrow = false;
this.cellPos.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Position]")});
this.cellPos.Name = "cellPos";
this.cellPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellPos.StylePriority.UseTextAlignment = false;
this.cellPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.cellPos.Weight = 0.20D;
//
// cellBeschr
//
this.cellBeschr.CanGrow = false;
this.cellBeschr.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Beschreibung]")});
this.cellBeschr.Name = "cellBeschr";
this.cellBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellBeschr.StylePriority.UseTextAlignment = false;
this.cellBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.cellBeschr.Weight = 1.40D;
//
// cellWert
//
this.cellWert.CanGrow = false;
this.cellWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Wert]")});
this.cellWert.Name = "cellWert";
this.cellWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellWert.StylePriority.UseTextAlignment = false;
this.cellWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.cellWert.Weight = 0.40D;
//
// ruleHighlighted
//
this.ruleHighlighted.Condition = "[RowType] == 1";
this.ruleHighlighted.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(230)))), ((int)(((byte)(153)))));
this.ruleHighlighted.Name = "ruleHighlighted";
//
// ruleSectionHeader
//
this.ruleSectionHeader.Condition = "[RowType] == 2";
this.ruleSectionHeader.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(215)))), ((int)(((byte)(238)))));
this.ruleSectionHeader.Formatting.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.ruleSectionHeader.Name = "ruleSectionHeader";
//
// PageFooter
//
this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo1});
this.PageFooter.HeightF = 26F;
this.PageFooter.Name = "PageFooter";
//
// xrPageInfo1
//
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(868.9998F, 10F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(200F, 16F);
this.xrPageInfo1.StylePriority.UseTextAlignment = false;
this.xrPageInfo1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// TopMargin
//
this.TopMargin.HeightF = 50F;
this.TopMargin.Name = "TopMargin";
//
// BottomMargin
//
this.BottomMargin.HeightF = 50F;
this.BottomMargin.Name = "BottomMargin";
//
// paramVermittlungsstelle
//
this.paramVermittlungsstelle.Description = "Vermittlungsstelle (Ort)";
this.paramVermittlungsstelle.Name = "Vermittlungsstelle";
//
// paramStaatsanwaltschaft
//
this.paramStaatsanwaltschaft.Description = "Staatsanwaltschaft / LG-Bezirk";
this.paramStaatsanwaltschaft.Name = "Staatsanwaltschaft";
this.paramStaatsanwaltschaft.ValueInfo = "GESAMT";
//
// paramBerichtszeitraum
//
this.paramBerichtszeitraum.Description = "Berichtszeitraum (Stichtag)";
this.paramBerichtszeitraum.Name = "Berichtszeitraum";
this.paramBerichtszeitraum.Type = typeof(System.DateTime);
this.paramBerichtszeitraum.ValueInfo = "2026-03-31";
//
// AsaStatistikReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.TopMargin,
this.ReportHeader,
this.PageHeader,
this.Detail,
this.PageFooter,
this.BottomMargin});
this.DataSource = this.bindingSource1;
this.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleHighlighted,
this.ruleSectionHeader});
this.Landscape = true;
this.Margins = new DevExpress.Drawing.DXMargins(50F, 50F, 50F, 50F);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.paramVermittlungsstelle,
this.paramStaatsanwaltschaft,
this.paramBerichtszeitraum});
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tblHeader)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tblDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
// ── Private Felder (alle Report-Controls) ──────────────────────────────
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.PageHeaderBand PageHeader;
private DevExpress.XtraReports.UI.DetailBand Detail;
private DevExpress.XtraReports.UI.PageFooterBand PageFooter;
// Report-Header Labels
private DevExpress.XtraReports.UI.XRLabel lblVersion;
private DevExpress.XtraReports.UI.XRLabel lblTitel;
private DevExpress.XtraReports.UI.XRLabel lblVermLabel;
private DevExpress.XtraReports.UI.XRLabel lblVermWert;
private DevExpress.XtraReports.UI.XRLabel lblStaLabel;
private DevExpress.XtraReports.UI.XRLabel lblStaWert;
private DevExpress.XtraReports.UI.XRLabel lblBerLabel;
private DevExpress.XtraReports.UI.XRLabel lblBerWert;
// Page-Header Tabelle
private DevExpress.XtraReports.UI.XRTable tblHeader;
private DevExpress.XtraReports.UI.XRTableRow tblHeaderRow;
private DevExpress.XtraReports.UI.XRTableCell cellHPos;
private DevExpress.XtraReports.UI.XRTableCell cellHBeschr;
private DevExpress.XtraReports.UI.XRTableCell cellHWert;
// Detail-Tabelle
private DevExpress.XtraReports.UI.XRTable tblDetail;
private DevExpress.XtraReports.UI.XRTableRow tblDetailRow;
private DevExpress.XtraReports.UI.XRTableCell cellPos;
private DevExpress.XtraReports.UI.XRTableCell cellBeschr;
private DevExpress.XtraReports.UI.XRTableCell cellWert;
// Seitenzahl
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
// Bedingte Formatierung
private DevExpress.XtraReports.UI.FormattingRule ruleHighlighted;
private DevExpress.XtraReports.UI.FormattingRule ruleSectionHeader;
// Parameter
private DevExpress.XtraReports.Parameters.Parameter paramVermittlungsstelle;
private DevExpress.XtraReports.Parameters.Parameter paramStaatsanwaltschaft;
private DevExpress.XtraReports.Parameters.Parameter paramBerichtszeitraum;
}
}

View File

@@ -0,0 +1,133 @@
using System;
using System.Collections.Generic;
using BeWo.Service.Reporting.Straffaelligenhilfe;
using DevExpress.XtraReports.UI;
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
/// <summary>
/// XtraReport für die "Statistik der Aufsuchenden Sozialarbeit (ASA)" (V 2014.1).
///
/// Verwendung:
/// var rows = AsaStatistikReport.CreateRows(asa);
/// var report = new AsaStatistikReport();
/// report.Parameters["Vermittlungsstelle"].Value = "Musterstadt";
/// report.Parameters["Staatsanwaltschaft"].Value = "GESAMT";
/// report.Parameters["Berichtszeitraum"].Value = new DateTime(2025, 6, 30);
/// report.SetReportDataSource(rows);
/// report.ShowPreview();
/// </summary>
public partial class AsaStatistikReport : XtraReport
{
public AsaStatistikReport()
{
InitializeComponent();
}
/// <summary>
/// Setzt die Datenquelle des Reports.
/// </summary>
public void SetReportDataSource(List<AsaStatistikReportRow> rows)
{
this.bindingSource1.DataSource = rows;
}
// ── Factory ─────────────────────────────────────────────────────────────
/// <summary>
/// Konvertiert ein ausgefülltes AsaStatistic-Objekt in die Zeilenliste für den Report.
/// </summary>
public static List<AsaStatistikReportRow> CreateRows(AsaStatistic asa)
{
AsaStatistikReportRow Row(string pos, string beschr, int val,
AsaReportRowType type = AsaReportRowType.Normal) =>
new AsaStatistikReportRow
{
Position = pos,
Beschreibung = beschr,
Wert = val.ToString("N0"),
RowType = type
};
return new List<AsaStatistikReportRow>
{
// ── Auftragsbestand ────────────────────────────────────────────
Row("0.1",
"Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge",
asa.Anzahl01),
Row("0.2",
"Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge",
asa.Anzahl02, AsaReportRowType.Highlighted),
Row("1.",
"Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2)",
asa.Anzahl1, AsaReportRowType.Highlighted),
Row("2.",
"Anzahl aller erledigten Aufträge (incl. Abbrüche, ...)",
asa.Anzahl2),
// ── Fallverlauf (Abschnittsüberschrift) ────────────────────────
AsaStatistikReportRow.SectionHeader(
"3.",
"Fallverlauf (der erledigten Aufträge gem. Zeile 2)"),
// ── 3.1. Methode ───────────────────────────────────────────────
AsaStatistikReportRow.SectionHeader(
"3.1.",
"Methode (der erledigten Aufträge gem. Zeile 2)"),
Row("3.1.1.", "Klient wurde aufgesucht", asa.Anzahl3_1_1),
Row("3.1.2.", "Klient wurde angetroffen", asa.Anzahl3_1_2),
Row("3.1.3.", "Klient wurde nicht angetroffen", asa.Anzahl3_1_3),
Row("3.1.4.",
"Klient wurde nicht aufgesucht, da Klient sich in VBS meldet (1. Anschreiben)",
asa.Anzahl3_1_4),
// ── 3.2. Verlauf ───────────────────────────────────────────────
AsaStatistikReportRow.SectionHeader(
"3.2.",
"Verlauf (der erledigten Aufträge gem. Zeile 2)"),
Row("3.2.1.", "Übergang in Schwitzen statt Sitzen", asa.Anzahl3_2_1),
Row("3.2.2.", "Übergang in Treuhänderische Geldverwaltung", asa.Anzahl3_2_2),
Row("3.2.3.", "Kein Interesse / Abbruch / Scheitern", asa.Anzahl3_2_3),
};
}
}
/// <summary>
/// Zeilentyp für die bedingte Formatierung im ASA-Statistik Report.
/// </summary>
public enum AsaReportRowType
{
Normal = 0,
Highlighted = 1, // Orangefarbener Hintergrund (z. B. Zeilen 0.2, 1.)
SectionHeader = 2 // Blauer Hintergrund (Abschnittsüberschriften 3., 3.1., 3.2.)
}
/// <summary>
/// Datenmodell für eine Zeile im ASA-Statistik Report.
/// </summary>
public class AsaStatistikReportRow
{
public string Position { get; set; } = "";
public string Beschreibung { get; set; } = "";
public string Wert { get; set; } = "";
public AsaReportRowType RowType { get; set; } = AsaReportRowType.Normal;
/// <summary>
/// Erstellt eine Abschnittsüberschrift (blauer Hintergrund).
/// </summary>
internal static AsaStatistikReportRow SectionHeader(string position, string beschreibung)
{
return new AsaStatistikReportRow
{
Position = position,
Beschreibung = beschreibung,
RowType = AsaReportRowType.SectionHeader
};
}
}
}

View File

@@ -0,0 +1,430 @@
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
partial class TgvStatistikReport
{
/// <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);
}
#region Designer generated code
/// <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();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.lblVersion = new DevExpress.XtraReports.UI.XRLabel();
this.lblTitel = new DevExpress.XtraReports.UI.XRLabel();
this.lblVermLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblVermWert = new DevExpress.XtraReports.UI.XRLabel();
this.lblStaLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblStaWert = new DevExpress.XtraReports.UI.XRLabel();
this.lblBerLabel = new DevExpress.XtraReports.UI.XRLabel();
this.lblBerWert = new DevExpress.XtraReports.UI.XRLabel();
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
this.tblHeader = new DevExpress.XtraReports.UI.XRTable();
this.tblHeaderRow = new DevExpress.XtraReports.UI.XRTableRow();
this.cellHPos = new DevExpress.XtraReports.UI.XRTableCell();
this.cellHBeschr = new DevExpress.XtraReports.UI.XRTableCell();
this.cellHWert = new DevExpress.XtraReports.UI.XRTableCell();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.tblDetail = new DevExpress.XtraReports.UI.XRTable();
this.tblDetailRow = new DevExpress.XtraReports.UI.XRTableRow();
this.cellPos = new DevExpress.XtraReports.UI.XRTableCell();
this.cellBeschr = new DevExpress.XtraReports.UI.XRTableCell();
this.cellWert = new DevExpress.XtraReports.UI.XRTableCell();
this.ruleHighlighted = new DevExpress.XtraReports.UI.FormattingRule();
this.ruleSectionHeader = new DevExpress.XtraReports.UI.FormattingRule();
this.PageFooter = new DevExpress.XtraReports.UI.PageFooterBand();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
this.paramVermittlungsstelle = new DevExpress.XtraReports.Parameters.Parameter();
this.paramStaatsanwaltschaft = new DevExpress.XtraReports.Parameters.Parameter();
this.paramBerichtszeitraum = new DevExpress.XtraReports.Parameters.Parameter();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tblHeader)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tblDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.Straffaelligenhilfe.TgvStatistikReportRow);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblVersion,
this.lblTitel,
this.lblVermLabel,
this.lblVermWert,
this.lblStaLabel,
this.lblStaWert,
this.lblBerLabel,
this.lblBerWert});
this.ReportHeader.HeightF = 84F;
this.ReportHeader.Name = "ReportHeader";
//
// lblVersion
//
this.lblVersion.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVersion.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.lblVersion.Name = "lblVersion";
this.lblVersion.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVersion.SizeF = new System.Drawing.SizeF(80F, 18F);
this.lblVersion.Text = "V 2014.1";
//
// lblTitel
//
this.lblTitel.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.lblTitel.LocationFloat = new DevExpress.Utils.PointFloat(80F, 0F);
this.lblTitel.Name = "lblTitel";
this.lblTitel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblTitel.SizeF = new System.Drawing.SizeF(989F, 18F);
this.lblTitel.StylePriority.UseFont = false;
this.lblTitel.StylePriority.UseTextAlignment = false;
this.lblTitel.Text = "Statistik der Treuhänderischen Geldverwaltung (TGV)";
this.lblTitel.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
//
// lblVermLabel
//
this.lblVermLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVermLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 20F);
this.lblVermLabel.Name = "lblVermLabel";
this.lblVermLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVermLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblVermLabel.Text = "Vermittlungsstelle (Ort):";
//
// lblVermWert
//
this.lblVermWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Vermittlungsstelle]")});
this.lblVermWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblVermWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 20F);
this.lblVermWert.Name = "lblVermWert";
this.lblVermWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblVermWert.SizeF = new System.Drawing.SizeF(300F, 18F);
//
// lblStaLabel
//
this.lblStaLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblStaLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 40F);
this.lblStaLabel.Name = "lblStaLabel";
this.lblStaLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblStaLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblStaLabel.Text = "Staatsanwaltschaft / Landgerichtsbezirk:";
//
// lblStaWert
//
this.lblStaWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Parameters.Staatsanwaltschaft]")});
this.lblStaWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblStaWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 40F);
this.lblStaWert.Name = "lblStaWert";
this.lblStaWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblStaWert.SizeF = new System.Drawing.SizeF(300F, 18F);
//
// lblBerLabel
//
this.lblBerLabel.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblBerLabel.LocationFloat = new DevExpress.Utils.PointFloat(50F, 60F);
this.lblBerLabel.Name = "lblBerLabel";
this.lblBerLabel.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblBerLabel.SizeF = new System.Drawing.SizeF(319F, 18F);
this.lblBerLabel.Text = "Berichtszeitraum:";
//
// lblBerWert
//
this.lblBerWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "FormatString('{0:dd.MM.yyyy}', [Parameters.Berichtszeitraum])")});
this.lblBerWert.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.lblBerWert.LocationFloat = new DevExpress.Utils.PointFloat(369F, 60F);
this.lblBerWert.Name = "lblBerWert";
this.lblBerWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblBerWert.SizeF = new System.Drawing.SizeF(200F, 18F);
//
// PageHeader
//
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.tblHeader});
this.PageHeader.HeightF = 28F;
this.PageHeader.Name = "PageHeader";
//
// tblHeader
//
this.tblHeader.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.tblHeader.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.tblHeader.BorderWidth = 0.5F;
this.tblHeader.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.tblHeader.Name = "tblHeader";
this.tblHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.tblHeaderRow});
this.tblHeader.SizeF = new System.Drawing.SizeF(1069F, 28F);
//
// tblHeaderRow
//
this.tblHeaderRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.cellHPos,
this.cellHBeschr,
this.cellHWert});
this.tblHeaderRow.Name = "tblHeaderRow";
this.tblHeaderRow.Weight = 1.0D;
//
// cellHPos
//
this.cellHPos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHPos.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHPos.Name = "cellHPos";
this.cellHPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHPos.StylePriority.UseFont = false;
this.cellHPos.StylePriority.UseTextAlignment = false;
this.cellHPos.Text = "Pos.";
this.cellHPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHPos.Weight = 0.20D;
//
// cellHBeschr
//
this.cellHBeschr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHBeschr.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHBeschr.Name = "cellHBeschr";
this.cellHBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHBeschr.StylePriority.UseFont = false;
this.cellHBeschr.StylePriority.UseTextAlignment = false;
this.cellHBeschr.Text = "1 Auftrag = 1 Person !!!";
this.cellHBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHBeschr.Weight = 1.40D;
//
// cellHWert
//
this.cellHWert.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.cellHWert.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Bold);
this.cellHWert.Name = "cellHWert";
this.cellHWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 1, 1, 100F);
this.cellHWert.StylePriority.UseFont = false;
this.cellHWert.StylePriority.UseTextAlignment = false;
this.cellHWert.Text = "zur Abwendung einer\nErsatzfreiheitsstrafe";
this.cellHWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellHWert.Weight = 0.40D;
//
// Detail
//
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.tblDetail});
this.Detail.HeightF = 16F;
this.Detail.Name = "Detail";
//
// tblDetail
//
this.tblDetail.AnchorVertical = ((DevExpress.XtraReports.UI.VerticalAnchorStyles)((DevExpress.XtraReports.UI.VerticalAnchorStyles.Top | DevExpress.XtraReports.UI.VerticalAnchorStyles.Bottom)));
this.tblDetail.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.tblDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.tblDetail.BorderWidth = 0.5F;
this.tblDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.tblDetail.Name = "tblDetail";
this.tblDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.tblDetailRow});
this.tblDetail.SizeF = new System.Drawing.SizeF(1069F, 16F);
//
// tblDetailRow
//
this.tblDetailRow.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.cellPos,
this.cellBeschr,
this.cellWert});
this.tblDetailRow.FormattingRules.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleHighlighted,
this.ruleSectionHeader});
this.tblDetailRow.Name = "tblDetailRow";
this.tblDetailRow.Weight = 11.5D;
//
// cellPos
//
this.cellPos.CanGrow = false;
this.cellPos.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Position]")});
this.cellPos.Name = "cellPos";
this.cellPos.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellPos.StylePriority.UseTextAlignment = false;
this.cellPos.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.cellPos.Weight = 0.20D;
//
// cellBeschr
//
this.cellBeschr.CanGrow = false;
this.cellBeschr.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Beschreibung]")});
this.cellBeschr.Name = "cellBeschr";
this.cellBeschr.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellBeschr.StylePriority.UseTextAlignment = false;
this.cellBeschr.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.cellBeschr.Weight = 1.40D;
//
// cellWert
//
this.cellWert.CanGrow = false;
this.cellWert.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[Wert]")});
this.cellWert.Name = "cellWert";
this.cellWert.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.cellWert.StylePriority.UseTextAlignment = false;
this.cellWert.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.cellWert.Weight = 0.40D;
//
// ruleHighlighted
//
this.ruleHighlighted.Condition = "[RowType] == 1";
this.ruleHighlighted.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(230)))), ((int)(((byte)(153)))));
this.ruleHighlighted.Name = "ruleHighlighted";
//
// ruleSectionHeader
//
this.ruleSectionHeader.Condition = "[RowType] == 2";
this.ruleSectionHeader.Formatting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(215)))), ((int)(((byte)(238)))));
this.ruleSectionHeader.Formatting.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold);
this.ruleSectionHeader.Name = "ruleSectionHeader";
//
// PageFooter
//
this.PageFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo1});
this.PageFooter.HeightF = 26F;
this.PageFooter.Name = "PageFooter";
//
// xrPageInfo1
//
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(868.9998F, 10F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(200F, 16F);
this.xrPageInfo1.StylePriority.UseTextAlignment = false;
this.xrPageInfo1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// TopMargin
//
this.TopMargin.HeightF = 50F;
this.TopMargin.Name = "TopMargin";
//
// BottomMargin
//
this.BottomMargin.HeightF = 50F;
this.BottomMargin.Name = "BottomMargin";
//
// paramVermittlungsstelle
//
this.paramVermittlungsstelle.Description = "Vermittlungsstelle (Ort)";
this.paramVermittlungsstelle.Name = "Vermittlungsstelle";
//
// paramStaatsanwaltschaft
//
this.paramStaatsanwaltschaft.Description = "Staatsanwaltschaft / LG-Bezirk";
this.paramStaatsanwaltschaft.Name = "Staatsanwaltschaft";
this.paramStaatsanwaltschaft.ValueInfo = "GESAMT";
//
// paramBerichtszeitraum
//
this.paramBerichtszeitraum.Description = "Berichtszeitraum (Stichtag)";
this.paramBerichtszeitraum.Name = "Berichtszeitraum";
this.paramBerichtszeitraum.Type = typeof(System.DateTime);
this.paramBerichtszeitraum.ValueInfo = "2026-03-31";
//
// TgvStatistikReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.TopMargin,
this.ReportHeader,
this.PageHeader,
this.Detail,
this.PageFooter,
this.BottomMargin});
this.DataSource = this.bindingSource1;
this.Font = new DevExpress.Drawing.DXFont("Arial", 8F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.ruleHighlighted,
this.ruleSectionHeader});
this.Landscape = true;
this.Margins = new DevExpress.Drawing.DXMargins(50F, 50F, 50F, 50F);
this.PageHeight = 827;
this.PageWidth = 1169;
this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4;
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.paramVermittlungsstelle,
this.paramStaatsanwaltschaft,
this.paramBerichtszeitraum});
this.Version = "23.2";
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tblHeader)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tblDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
// ── Private Felder (alle Report-Controls) ──────────────────────────────
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.PageHeaderBand PageHeader;
private DevExpress.XtraReports.UI.DetailBand Detail;
private DevExpress.XtraReports.UI.PageFooterBand PageFooter;
// Report-Header Labels
private DevExpress.XtraReports.UI.XRLabel lblVersion;
private DevExpress.XtraReports.UI.XRLabel lblTitel;
private DevExpress.XtraReports.UI.XRLabel lblVermLabel;
private DevExpress.XtraReports.UI.XRLabel lblVermWert;
private DevExpress.XtraReports.UI.XRLabel lblStaLabel;
private DevExpress.XtraReports.UI.XRLabel lblStaWert;
private DevExpress.XtraReports.UI.XRLabel lblBerLabel;
private DevExpress.XtraReports.UI.XRLabel lblBerWert;
// Page-Header Tabelle
private DevExpress.XtraReports.UI.XRTable tblHeader;
private DevExpress.XtraReports.UI.XRTableRow tblHeaderRow;
private DevExpress.XtraReports.UI.XRTableCell cellHPos;
private DevExpress.XtraReports.UI.XRTableCell cellHBeschr;
private DevExpress.XtraReports.UI.XRTableCell cellHWert;
// Detail-Tabelle
private DevExpress.XtraReports.UI.XRTable tblDetail;
private DevExpress.XtraReports.UI.XRTableRow tblDetailRow;
private DevExpress.XtraReports.UI.XRTableCell cellPos;
private DevExpress.XtraReports.UI.XRTableCell cellBeschr;
private DevExpress.XtraReports.UI.XRTableCell cellWert;
// Seitenzahl
private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo1;
// Bedingte Formatierung
private DevExpress.XtraReports.UI.FormattingRule ruleHighlighted;
private DevExpress.XtraReports.UI.FormattingRule ruleSectionHeader;
// Parameter
private DevExpress.XtraReports.Parameters.Parameter paramVermittlungsstelle;
private DevExpress.XtraReports.Parameters.Parameter paramStaatsanwaltschaft;
private DevExpress.XtraReports.Parameters.Parameter paramBerichtszeitraum;
}
}

View File

@@ -0,0 +1,146 @@
using System;
using System.Collections.Generic;
using BeWo.Service.Reporting.Straffaelligenhilfe;
using DevExpress.XtraReports.UI;
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
/// <summary>
/// XtraReport für die "Statistik der Treuhänderischen Geldverwaltung (TGV)" (V 2014.1).
///
/// Verwendung:
/// var rows = TgvStatistikReport.CreateRows(tgv);
/// var report = new TgvStatistikReport();
/// report.Parameters["Vermittlungsstelle"].Value = "Musterstadt";
/// report.Parameters["Staatsanwaltschaft"].Value = "GESAMT";
/// report.Parameters["Berichtszeitraum"].Value = new DateTime(2025, 6, 30);
/// report.SetReportDataSource(rows);
/// report.ShowPreview();
/// </summary>
public partial class TgvStatistikReport : XtraReport
{
public TgvStatistikReport()
{
InitializeComponent();
}
/// <summary>
/// Setzt die Datenquelle des Reports.
/// </summary>
public void SetReportDataSource(List<TgvStatistikReportRow> rows)
{
this.bindingSource1.DataSource = rows;
}
// ── Factory ─────────────────────────────────────────────────────────────
/// <summary>
/// Konvertiert ein ausgefülltes TgvStatistic-Objekt in die Zeilenliste für den Report.
/// </summary>
public static List<TgvStatistikReportRow> CreateRows(TgvStatistic tgv)
{
TgvStatistikReportRow Row(string pos, string beschr, string wert,
TgvReportRowType type = TgvReportRowType.Normal) =>
new TgvStatistikReportRow
{
Position = pos,
Beschreibung = beschr,
Wert = wert,
RowType = type
};
TgvStatistikReportRow RowInt(string pos, string beschr, int val,
TgvReportRowType type = TgvReportRowType.Normal) =>
Row(pos, beschr, val.ToString("N0"), type);
return new List<TgvStatistikReportRow>
{
// ── Auftragsbestand ────────────────────────────────────────────
RowInt("0.1",
"Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge",
tgv.Anzahl01),
RowInt("0.2",
"Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge",
tgv.Anzahl02, TgvReportRowType.Highlighted),
RowInt("1.",
"Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2)",
tgv.Anzahl1, TgvReportRowType.Highlighted),
Row("2.",
"Höhe der Geldstrafe in € (gem. Zeile 0.2)",
tgv.Betrag2.ToString("N2"), TgvReportRowType.Highlighted),
// ── Erledigte Aufträge ─────────────────────────────────────────
RowInt("3.",
"Anzahl aller erledigten Aufträge",
tgv.Anzahl3),
RowInt("3.1.",
"davon Anzahl der gescheiterten Fälle",
tgv.Anzahl3_1),
RowInt("3.2.",
"davon Anzahl der positiv erledigten Aufträge",
tgv.Anzahl3_2, TgvReportRowType.Highlighted),
// ── Zahlungen und Arbeitsstunden (Abschnittsüberschrift) ────────
TgvStatistikReportRow.SectionHeader(
"4.",
"Geleistete Zahlungen und Arbeitsstunden (im Quartal)"),
Row("4.1.",
"Summe der nachgewiesenen (Raten) oder Einmalzahlungen in €",
tgv.Betrag4_1.ToString("N2")),
RowInt("4.2.",
"Anzahl der geleisteten Arbeitsstunden (in TGV)",
tgv.Anzahl4_2),
// ── Hafttage / Aufsuchen ───────────────────────────────────────
Row("5.",
"Anzahl der vermiedenen Hafttage (nur durch TGV)",
tgv.Betrag5.ToString("N2"), TgvReportRowType.Highlighted),
RowInt("6.",
"Klient wurde durch BGBW aufgesucht (gem. Zeile 0.2)",
tgv.Anzahl6),
};
}
}
/// <summary>
/// Zeilentyp für die bedingte Formatierung im TGV-Statistik Report.
/// </summary>
public enum TgvReportRowType
{
Normal = 0,
Highlighted = 1, // Orangefarbener Hintergrund (z. B. Zeilen 0.2, 1., 2., 3.2., 5.)
SectionHeader = 2 // Blauer Hintergrund (Abschnittsüberschrift 4.)
}
/// <summary>
/// Datenmodell für eine Zeile im TGV-Statistik Report.
/// </summary>
public class TgvStatistikReportRow
{
public string Position { get; set; } = "";
public string Beschreibung { get; set; } = "";
public string Wert { get; set; } = "";
public TgvReportRowType RowType { get; set; } = TgvReportRowType.Normal;
/// <summary>
/// Erstellt eine Abschnittsüberschrift (blauer Hintergrund).
/// </summary>
internal static TgvStatistikReportRow SectionHeader(string position, string beschreibung)
{
return new TgvStatistikReportRow
{
Position = position,
Beschreibung = beschreibung,
RowType = TgvReportRowType.SectionHeader
};
}
}
}

View File

@@ -1,4 +1,4 @@
namespace BeWo.Report.DefaultReports
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
partial class VgaStatistikReport
{
@@ -89,7 +89,7 @@ namespace BeWo.Report.DefaultReports
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.VgaStatistikReportRow);
this.bindingSource1.DataSource = typeof(BeWo.Report.DefaultReports.Straffaelligenhilfe.VgaStatistikReportRow);
//
// ReportHeader
//

View File

@@ -3,7 +3,7 @@ using System.Collections.Generic;
using BeWo.Service.Reporting.Straffaelligenhilfe;
using DevExpress.XtraReports.UI;
namespace BeWo.Report.DefaultReports
namespace BeWo.Report.DefaultReports.Straffaelligenhilfe
{
/// <summary>
/// XtraReport für die "Statistik der Ableistung gemeinnütziger Arbeit" (V 2014.1).

View File

@@ -289,11 +289,23 @@
<Compile Include="DefaultReports\ValidationMessagesReport.Designer.cs">
<DependentUpon>ValidationMessagesReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\VgaStatistikReport.cs">
<Compile Include="DefaultReports\Straffaelligenhilfe\VgaStatistikReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="DefaultReports\VgaStatistikReport.Designer.cs">
<Compile Include="DefaultReports\Straffaelligenhilfe\VgaStatistikReport.Designer.cs">
<DependentUpon>VgaStatistikReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\Straffaelligenhilfe\TgvStatistikReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="DefaultReports\Straffaelligenhilfe\TgvStatistikReport.Designer.cs">
<DependentUpon>TgvStatistikReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\Straffaelligenhilfe\AsaStatistikReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="DefaultReports\Straffaelligenhilfe\AsaStatistikReport.Designer.cs">
<DependentUpon>AsaStatistikReport.cs</DependentUpon>
</Compile>
<Compile Include="DefaultReports\VorlageReport.cs">
<SubType>Component</SubType>
@@ -708,7 +720,7 @@
<DependentUpon>ValidationMessagesReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\VgaStatistikReport.resx">
<EmbeddedResource Include="DefaultReports\Straffaelligenhilfe\VgaStatistikReport.resx">
<DependentUpon>VgaStatistikReport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\VorlageReport.resx">
@@ -930,6 +942,7 @@
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.2.9.6\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.2.9.6\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>

View File

@@ -1518,12 +1518,11 @@ namespace BeWo.Report.ReportObjects
var mandatorSettings = lResult.Mandator?.Settings;
var serviceRecordOids = lResult.Services.Select(service => service.ServiceRecordOid).ToList();
var serviceRecordOids = lResult.Services.Where(service => service.IsBillable).Select(service => service.ServiceRecordOid).ToList();
var employeeSignature = DAOFactory.SearchDAO.GetConfirmationReceiptSignatureForServiceRecords(serviceRecordOids, SignatureType.Employee);
if(!(employeeSignature?.SignatureImage is null))
if(employeeSignature?.SignatureImage != null)
{
lResult.EmployeeSignature = ImageUtils.ConvertBase64StringToBitmap(employeeSignature?.SignatureImage);
lResult.EmployeeSignatureDate = employeeSignature?.InsTs;
@@ -1531,12 +1530,11 @@ namespace BeWo.Report.ReportObjects
var customerSignature = DAOFactory.SearchDAO.GetConfirmationReceiptSignatureForServiceRecords(serviceRecordOids, SignatureType.Customer);
if(!(customerSignature?.SignatureImage is null))
if(customerSignature?.SignatureImage != null)
{
lResult.CustomerSignature = ImageUtils.ConvertBase64StringToBitmap(customerSignature.SignatureImage);
lResult.CustomerSignatureDate = customerSignature.InsTs;
}
return lResult;
}

View File

@@ -117,6 +117,7 @@
<Compile Include="ServiceInvoiceReport.Designer.cs">
<DependentUpon>ServiceInvoiceReport.cs</DependentUpon>
</Compile>
<Compile Include="Service\CustomCustomerService.cs" />
<Compile Include="Service\CustomGroupDurationCalculator.cs" />
<Compile Include="Service\CustomSaveInterceptor.cs" />
<Compile Include="Service\CustomVacationService.cs" />

View File

@@ -0,0 +1,34 @@
using System.Collections.Generic;
using BeWo.Data;
using BeWo.Data.Entities;
using BeWo.Data.Security;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.DataContracts.Compact;
namespace CaritasverbandKelheim.Service
{
public class CustomCustomerService : CustomerService
{
public override List<CompactCustomerDC> GetAllActiveCustomersCompact(bool fetchReferenceNumbers, long? currentEmployeeOid)
{
var customer = base.GetAllActiveCustomersCompact(fetchReferenceNumbers, currentEmployeeOid);
if (UserRightHelper.LoggedInUserHasRight(UserRightType.Customer_ViewMyTeams))
{
foreach (var c in customer)
{
if (c.IsRelatedToTeam)
{
c.IsRelatedToEmployee = true;
}
}
}
return customer;
}
}
}

View File

@@ -1188,6 +1188,10 @@
this.xrTableCell64.Text = "xrTableCell64";
this.xrTableCell64.Weight = 0.016054418850405955D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot.AnwesenheitAusserschulischesBetreuungsangebot);
//
// xrLabel8
//
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(741.0002F, 53.33333F);
@@ -3101,7 +3105,7 @@
// fieldIstFFO
//
this.fieldIstFFO.DataMember = "CustomerAnwesenheiten";
this.fieldIstFFO.Expression = "Iif([IstFFO], \'x\', \'\')";
this.fieldIstFFO.Expression = "Iif([IstFFO_EGH] Or [IstFFO_JA], \'x\', \'\')";
this.fieldIstFFO.FieldType = DevExpress.XtraReports.UI.FieldType.String;
this.fieldIstFFO.Name = "fieldIstFFO";
//

View File

@@ -242,6 +242,63 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
SetzeStaffelpreise();
}
private CustomerAnwesenheit CreateCustomerAnwesenheit(AdditionalServiceBookingRow row, DateTime monat)
{
var ca = new CustomerAnwesenheit();
ca.Monat = monat;
ca.CustomerDC = row.CustomerDC;
ca.IstSgb9 = FrankfurtOderHelper.IstSgbIX(ca.CustomerDC.DateOfBirth, monat.AddMonths(1).AddDays(-1));
ca.IstSgb8 = !ca.IstSgb9;
SetCostbearer2SupportConcept(ca);
if (ca.CostBearer2SupportConcept?.CostBearer.Organisation != null)
{
if (ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Stadt Frankfurt (Oder)") && !ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("JA"))
{
if (ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Stadt Frankfurt (Oder)") && !ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("JA"))
{
ca.IstFFO_JA = true;
}
else
{
ca.IstFFO_EGH = true;
}
}
else
{
ca.IstAndererKT = true;
}
}
SetzeAnwesenheiten(ca, row);
return ca;
}
private void SetCostbearer2SupportConcept(CustomerAnwesenheit ca)
{
var c = DAOFactory.GenericDAO.LoadByID<Customer>(ca.CustomerDC.CustomerOid);
foreach (var sc in c.SupportConcepts)
{
foreach (var c2s in sc.CostBearer2SupportConceptList)
{
foreach (var ap in c2s.ApprovalPeriodList)
{
if (ap.ServiceCategory != null && ap.ServiceCategory.Name.ToLower().Contains("außerschulisches betreuungsangebot"))
{
ca.CostBearer2SupportConcept = c2s;
ca.SupportConceptApprovalPeriod = ap;
}
}
}
}
}
private void SetzeStaffelpreise()
{
DateTime dt = new DateTime(Monat.Year, Monat.Month, 1);
@@ -455,7 +512,7 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
preis.AnzahlTag4 += anzahl;
}
else if (dt.Day == 5)
{
{
preis.AnzahlTag5 += anzahl;
}
else if (dt.Day == 6)
@@ -564,37 +621,6 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
}
}
private CustomerAnwesenheit CreateCustomerAnwesenheit(AdditionalServiceBookingRow row, DateTime monat)
{
var ca = new CustomerAnwesenheit();
ca.Monat = monat;
ca.CustomerDC = row.CustomerDC;
ca.IstSgb9 = FrankfurtOderHelper.IstSgbIX(ca.CustomerDC.DateOfBirth, monat.AddMonths(1).AddDays(-1));
ca.IstSgb8 = !ca.IstSgb9;
SetCostbearer2SupportConcept(ca);
if (ca.CostBearer2SupportConcept?.CostBearer.Organisation != null)
{
if (ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Stadt Frankfurt (Oder)") && !ca.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("JA"))
{
ca.IstFFO = true;
}
else
{
ca.IstAndererKT = true;
}
}
SetzeAnwesenheiten(ca, row);
return ca;
}
private void SetzeAnwesenheiten(CustomerAnwesenheit ca, AdditionalServiceBookingRow row)
{
ca.AttendanceOnDay1 = row.AttendanceOnDay1;
@@ -631,25 +657,7 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
}
private void SetCostbearer2SupportConcept(CustomerAnwesenheit ca)
{
var c = DAOFactory.GenericDAO.LoadByID<Customer>(ca.CustomerDC.CustomerOid);
foreach (var sc in c.SupportConcepts)
{
foreach (var c2s in sc.CostBearer2SupportConceptList)
{
foreach (var ap in c2s.ApprovalPeriodList)
{
if (ap.ServiceCategory != null && ap.ServiceCategory.Name.ToLower().Contains("außerschulisches betreuungsangebot"))
{
ca.CostBearer2SupportConcept = c2s;
ca.SupportConceptApprovalPeriod = ap;
}
}
}
}
}
}
}

View File

@@ -21,7 +21,8 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
{
public DateTime Monat { get; set; }
public CompactCustomerDC CustomerDC { get; set; }
public bool IstFFO { get; set; }
public bool IstFFO_EGH { get; set; }
public bool IstFFO_JA { get; set; }
public bool IstAndererKT { get; set; }
public bool IstSgb8 { get; set; }
public bool IstSgb9 { get; set; }

View File

@@ -427,7 +427,7 @@ namespace LebenshilfeFrankfurtOder
roFerien = ro;
}
return CreateAnwesenheitslisteFruehUndSpaetbetreuung(roFrueh, roSpaet, roFerien, true);
return CreateAnwesenheitslisteFruehUndSpaetbetreuung(roFrueh, roSpaet, roFerien, true, null);
}
if (report == null)
@@ -440,7 +440,7 @@ namespace LebenshilfeFrankfurtOder
return report as XtraReport;
}
private XtraReport CreateAnwesenheitslisteFruehUndSpaetbetreuung(AdditionalServiceBookingRO roFrue, AdditionalServiceBookingRO roSpaet, AdditionalServiceBookingRO roFerien, bool addEinzelnachweise)
private XtraReport CreateAnwesenheitslisteFruehUndSpaetbetreuung(AdditionalServiceBookingRO roFrue, AdditionalServiceBookingRO roSpaet, AdditionalServiceBookingRO roFerien, bool addEinzelnachweise, List<String> einzelnachweiseCustomerFilter)
{
var aab = new AnwesenheitAusserschulischesBetreuungsangebot();
aab.BerechneGesamtAnwesenheit(roFrue, roSpaet, roFerien);
@@ -455,7 +455,7 @@ namespace LebenshilfeFrankfurtOder
foreach (var row in aab.CustomerAnwesenheiten)
{
if (row.IstSgb9)
if (einzelnachweiseCustomerFilter == null || einzelnachweiseCustomerFilter.Contains(String.Format("{0}, {1}", row.CustomerDC.LastName, row.CustomerDC.FirstName)))
{
var lnRO = LeistungsnachweisSGBIXRO.Create(aab, row);
@@ -1181,12 +1181,27 @@ namespace LebenshilfeFrankfurtOder
roFerien = AdditionalServiceBookingRO.Create(ferienRegion, monat);
}
bool addEinzelnachweise = true;
if (ro.RecipientOrganisation.Contains("Stadt Frankfurt (Oder)") && !ro.RecipientOrganisation.Contains("JA"))
{
addEinzelnachweise = false;
//if (ro.RecipientOrganisation.Contains("Stadt Frankfurt (Oder)") && !ro.RecipientOrganisation.Contains("JA"))
//{
// addEinzelnachweise = false;
//}
var customerNames = new List<string>();
if (iDC.ServiceInvoicePeriods != null)
{
foreach (var sip in iDC.ServiceInvoicePeriods)
{
if (sip.InvoiceItems != null)
{
foreach (var item in sip.InvoiceItems)
{
customerNames.Add(item.ItemDescription);
}
}
}
}
var anhang = CreateAnwesenheitslisteFruehUndSpaetbetreuung(roFrueh, roSpaet, roFerien, addEinzelnachweise);
var anhang = CreateAnwesenheitslisteFruehUndSpaetbetreuung(roFrueh, roSpaet, roFerien, addEinzelnachweise, customerNames);
if (anhang.Pages.Count == 0)
{
anhang.CreateDocument();
@@ -1305,7 +1320,7 @@ namespace LebenshilfeFrankfurtOder
var fruehRegion = DAOFactory.GenericDAO.LoadByID<AdditionalServiceRegion>(30);
var spaetRegion = DAOFactory.GenericDAO.LoadByID<AdditionalServiceRegion>(31);
var ferienRegion = DAOFactory.GenericDAO.LoadByID<AdditionalServiceRegion>(31);
var ferienRegion = DAOFactory.GenericDAO.LoadByID<AdditionalServiceRegion>(32);
var roFrueh = AdditionalServiceBookingRO.Create(fruehRegion, monat);

View File

@@ -43,10 +43,10 @@ namespace LebenshilfeFrankfurtOder.Invoicing
var invoiceList = new List<ServiceInvoice>();
var invoiceCounter = 0;
//LH Frankfurt Oder bekommt eine eigene Sammel Rechnung
//Alle anderen Rechnungen gehen ans entsprechende Jugendamt
//Stadt Frankfurt Oder Jugendamt bekommt eine eigene Sammel Rechnung
//Alle anderen Rechnungen gehen einzeln ans entsprechende Amt
var ffoAnwesenheiten = afs.CustomerAnwesenheiten.Where(a => a.IstFFO).ToList();
var ffoAnwesenheiten = afs.CustomerAnwesenheiten.Where(a => a.IstFFO_JA).ToList();
if (ffoAnwesenheiten.Count > 0)
{
invoiceList.Add(CreateInvoice(invoiceCounter, invoicePeriod, afs, ffoAnwesenheiten));
@@ -57,7 +57,7 @@ namespace LebenshilfeFrankfurtOder.Invoicing
foreach (var ca in afs.CustomerAnwesenheiten)
{
if (!ca.IstFFO && ca.CostBearer2SupportConcept != null)
if (!ca.IstFFO_JA && ca.CostBearer2SupportConcept != null)
{
List<CustomerAnwesenheit> abwList = null;
if (!abwesenheitenNachKT.ContainsKey(ca.CostBearer2SupportConcept.CostBearer.Organisation.Name))

View File

@@ -47,37 +47,6 @@ namespace LebenshilfeFrankfurtOder
this.xrLabel27 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel26 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel25 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellAnzahl1 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellEinheit1 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellBetrag1 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellGesamt1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow7 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellAnzahl2 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellEinheit2 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellBetrag2 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellGesamt2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow8 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell29 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellAnzahl3 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellEinheit3 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellBetrag3 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellGesamt3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellAnzahl4 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellEinheit4 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellBetrag4 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellGesamt4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRowFerien = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellAnzahl5 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellEinheit5 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellBetrag5 = new DevExpress.XtraReports.UI.XRTableCell();
this.cellGesamt5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel38 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel33 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel34 = new DevExpress.XtraReports.UI.XRLabel();
@@ -85,13 +54,8 @@ namespace LebenshilfeFrankfurtOder
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow17 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.lblRechnung = new DevExpress.XtraReports.UI.XRLabel();
this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel();
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
@@ -126,13 +90,22 @@ namespace LebenshilfeFrankfurtOder
this.xrLabel39 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport2 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail3 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow5 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.rtFooterAlt)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.rtFooterNeu)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -159,7 +132,6 @@ namespace LebenshilfeFrankfurtOder
this.xrLabel27,
this.xrLabel26,
this.xrLabel25,
this.xrTable3,
this.xrLabel38,
this.xrLabel33,
this.xrLabel34,
@@ -167,7 +139,7 @@ namespace LebenshilfeFrankfurtOder
this.xrTable2,
this.lblRechnung,
this.lblAdresse});
this.ReportHeader.HeightF = 531.25F;
this.ReportHeader.HeightF = 441.25F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
@@ -373,322 +345,6 @@ namespace LebenshilfeFrankfurtOder
this.xrLabel25.Text = "501205613";
this.xrLabel25.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrTable3
//
this.xrTable3.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0.000406901F, 431.25F);
this.xrTable3.Name = "xrTable3";
this.xrTable3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow7,
this.xrTableRow8,
this.xrTableRow9,
this.xrTableRowFerien});
this.xrTable3.SizeF = new System.Drawing.SizeF(696.5F, 100F);
this.xrTable3.StylePriority.UseBackColor = false;
this.xrTable3.StylePriority.UseBorderColor = false;
this.xrTable3.StylePriority.UseFont = false;
this.xrTable3.StylePriority.UsePadding = false;
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell2,
this.cellAnzahl1,
this.cellEinheit1,
this.cellBetrag1,
this.cellGesamt1});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 0.10000000000000003D;
//
// xrTableCell2
//
this.xrTableCell2.Borders = DevExpress.XtraPrinting.BorderSide.Left;
this.xrTableCell2.Multiline = true;
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.StylePriority.UseBorders = false;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Staffelpreis 1";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell2.Weight = 0.46153846153846145D;
//
// cellAnzahl1
//
this.cellAnzahl1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellAnzahl1.Name = "cellAnzahl1";
this.cellAnzahl1.StylePriority.UseBorders = false;
this.cellAnzahl1.StylePriority.UseTextAlignment = false;
this.cellAnzahl1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellAnzahl1.Weight = 0.099999999999999978D;
//
// cellEinheit1
//
this.cellEinheit1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellEinheit1.CanShrink = true;
this.cellEinheit1.Name = "cellEinheit1";
this.cellEinheit1.StylePriority.UseBorders = false;
this.cellEinheit1.StylePriority.UseFont = false;
this.cellEinheit1.StylePriority.UsePadding = false;
this.cellEinheit1.StylePriority.UseTextAlignment = false;
this.cellEinheit1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellEinheit1.Weight = 0.1538461538461538D;
//
// cellBetrag1
//
this.cellBetrag1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellBetrag1.Name = "cellBetrag1";
this.cellBetrag1.StylePriority.UseBorderColor = false;
this.cellBetrag1.StylePriority.UseBorders = false;
this.cellBetrag1.StylePriority.UseFont = false;
this.cellBetrag1.StylePriority.UsePadding = false;
this.cellBetrag1.StylePriority.UseTextAlignment = false;
this.cellBetrag1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellBetrag1.Weight = 0.14615384615384613D;
//
// cellGesamt1
//
this.cellGesamt1.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.cellGesamt1.Name = "cellGesamt1";
this.cellGesamt1.StylePriority.UseBorderColor = false;
this.cellGesamt1.StylePriority.UseBorders = false;
this.cellGesamt1.StylePriority.UseFont = false;
this.cellGesamt1.StylePriority.UsePadding = false;
this.cellGesamt1.StylePriority.UseTextAlignment = false;
this.cellGesamt1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.cellGesamt1.Weight = 0.20999999999999996D;
//
// xrTableRow7
//
this.xrTableRow7.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell9,
this.cellAnzahl2,
this.cellEinheit2,
this.cellBetrag2,
this.cellGesamt2});
this.xrTableRow7.Name = "xrTableRow7";
this.xrTableRow7.Weight = 0.10000000000000003D;
//
// xrTableCell9
//
this.xrTableCell9.Borders = DevExpress.XtraPrinting.BorderSide.Left;
this.xrTableCell9.Name = "xrTableCell9";
this.xrTableCell9.StylePriority.UseBorders = false;
this.xrTableCell9.StylePriority.UseTextAlignment = false;
this.xrTableCell9.Text = "Staffelpreis 2";
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell9.Weight = 0.46153846153846145D;
//
// cellAnzahl2
//
this.cellAnzahl2.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellAnzahl2.Name = "cellAnzahl2";
this.cellAnzahl2.StylePriority.UseBorders = false;
this.cellAnzahl2.StylePriority.UseTextAlignment = false;
this.cellAnzahl2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellAnzahl2.Weight = 0.099999999999999978D;
//
// cellEinheit2
//
this.cellEinheit2.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellEinheit2.Name = "cellEinheit2";
this.cellEinheit2.StylePriority.UseBorders = false;
this.cellEinheit2.StylePriority.UseTextAlignment = false;
this.cellEinheit2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellEinheit2.Weight = 0.1538461538461538D;
//
// cellBetrag2
//
this.cellBetrag2.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellBetrag2.Name = "cellBetrag2";
this.cellBetrag2.StylePriority.UseBorders = false;
this.cellBetrag2.StylePriority.UseTextAlignment = false;
this.cellBetrag2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellBetrag2.Weight = 0.14615384615384613D;
//
// cellGesamt2
//
this.cellGesamt2.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.cellGesamt2.Name = "cellGesamt2";
this.cellGesamt2.StylePriority.UseBorders = false;
this.cellGesamt2.StylePriority.UseTextAlignment = false;
this.cellGesamt2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.cellGesamt2.Weight = 0.20999999999999996D;
//
// xrTableRow8
//
this.xrTableRow8.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell29,
this.cellAnzahl3,
this.cellEinheit3,
this.cellBetrag3,
this.cellGesamt3});
this.xrTableRow8.Name = "xrTableRow8";
this.xrTableRow8.Weight = 0.10000000000000003D;
//
// xrTableCell29
//
this.xrTableCell29.Borders = DevExpress.XtraPrinting.BorderSide.Left;
this.xrTableCell29.Name = "xrTableCell29";
this.xrTableCell29.StylePriority.UseBorders = false;
this.xrTableCell29.StylePriority.UseTextAlignment = false;
this.xrTableCell29.Text = "Staffelpreis 3";
this.xrTableCell29.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell29.Weight = 0.46153846153846145D;
//
// cellAnzahl3
//
this.cellAnzahl3.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellAnzahl3.Name = "cellAnzahl3";
this.cellAnzahl3.StylePriority.UseBorders = false;
this.cellAnzahl3.StylePriority.UseTextAlignment = false;
this.cellAnzahl3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellAnzahl3.Weight = 0.099999999999999978D;
//
// cellEinheit3
//
this.cellEinheit3.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellEinheit3.Name = "cellEinheit3";
this.cellEinheit3.StylePriority.UseBorders = false;
this.cellEinheit3.StylePriority.UseTextAlignment = false;
this.cellEinheit3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellEinheit3.Weight = 0.1538461538461538D;
//
// cellBetrag3
//
this.cellBetrag3.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellBetrag3.Name = "cellBetrag3";
this.cellBetrag3.StylePriority.UseBorders = false;
this.cellBetrag3.StylePriority.UseTextAlignment = false;
this.cellBetrag3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellBetrag3.Weight = 0.14615384615384613D;
//
// cellGesamt3
//
this.cellGesamt3.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.cellGesamt3.Name = "cellGesamt3";
this.cellGesamt3.StylePriority.UseBorders = false;
this.cellGesamt3.StylePriority.UseTextAlignment = false;
this.cellGesamt3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.cellGesamt3.Weight = 0.20999999999999996D;
//
// xrTableRow9
//
this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell33,
this.cellAnzahl4,
this.cellEinheit4,
this.cellBetrag4,
this.cellGesamt4});
this.xrTableRow9.Name = "xrTableRow9";
this.xrTableRow9.Weight = 0.10000000000000003D;
//
// xrTableCell33
//
this.xrTableCell33.Borders = DevExpress.XtraPrinting.BorderSide.Left;
this.xrTableCell33.Name = "xrTableCell33";
this.xrTableCell33.StylePriority.UseBorders = false;
this.xrTableCell33.StylePriority.UseTextAlignment = false;
this.xrTableCell33.Text = "Staffelpreis 4";
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell33.Weight = 0.46153846153846145D;
//
// cellAnzahl4
//
this.cellAnzahl4.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellAnzahl4.Name = "cellAnzahl4";
this.cellAnzahl4.StylePriority.UseBorders = false;
this.cellAnzahl4.StylePriority.UseTextAlignment = false;
this.cellAnzahl4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellAnzahl4.Weight = 0.099999999999999978D;
//
// cellEinheit4
//
this.cellEinheit4.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellEinheit4.Name = "cellEinheit4";
this.cellEinheit4.StylePriority.UseBorders = false;
this.cellEinheit4.StylePriority.UseTextAlignment = false;
this.cellEinheit4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellEinheit4.Weight = 0.1538461538461538D;
//
// cellBetrag4
//
this.cellBetrag4.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellBetrag4.Name = "cellBetrag4";
this.cellBetrag4.StylePriority.UseBorders = false;
this.cellBetrag4.StylePriority.UseTextAlignment = false;
this.cellBetrag4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellBetrag4.Weight = 0.14615384615384613D;
//
// cellGesamt4
//
this.cellGesamt4.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.cellGesamt4.Name = "cellGesamt4";
this.cellGesamt4.StylePriority.UseBorders = false;
this.cellGesamt4.StylePriority.UseTextAlignment = false;
this.cellGesamt4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.cellGesamt4.Weight = 0.20999999999999996D;
//
// xrTableRowFerien
//
this.xrTableRowFerien.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell37,
this.cellAnzahl5,
this.cellEinheit5,
this.cellBetrag5,
this.cellGesamt5});
this.xrTableRowFerien.Name = "xrTableRowFerien";
this.xrTableRowFerien.Weight = 0.10000000000000003D;
//
// xrTableCell37
//
this.xrTableCell37.Borders = DevExpress.XtraPrinting.BorderSide.Left;
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.StylePriority.UseBorders = false;
this.xrTableCell37.StylePriority.UseTextAlignment = false;
this.xrTableCell37.Text = "Staffelpreis 5";
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell37.Weight = 0.46153846153846145D;
//
// cellAnzahl5
//
this.cellAnzahl5.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellAnzahl5.Name = "cellAnzahl5";
this.cellAnzahl5.StylePriority.UseBorders = false;
this.cellAnzahl5.StylePriority.UseTextAlignment = false;
this.cellAnzahl5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellAnzahl5.Weight = 0.099999999999999978D;
//
// cellEinheit5
//
this.cellEinheit5.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellEinheit5.Name = "cellEinheit5";
this.cellEinheit5.StylePriority.UseBorders = false;
this.cellEinheit5.StylePriority.UseTextAlignment = false;
this.cellEinheit5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellEinheit5.Weight = 0.1538461538461538D;
//
// cellBetrag5
//
this.cellBetrag5.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.cellBetrag5.Name = "cellBetrag5";
this.cellBetrag5.StylePriority.UseBorders = false;
this.cellBetrag5.StylePriority.UseTextAlignment = false;
this.cellBetrag5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.cellBetrag5.Weight = 0.14615384615384613D;
//
// cellGesamt5
//
this.cellGesamt5.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.cellGesamt5.Name = "cellGesamt5";
this.cellGesamt5.StylePriority.UseBorders = false;
this.cellGesamt5.StylePriority.UseTextAlignment = false;
this.cellGesamt5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.cellGesamt5.Weight = 0.20999999999999996D;
//
// xrLabel38
//
this.xrLabel38.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
@@ -745,9 +401,8 @@ namespace LebenshilfeFrankfurtOder
this.xrTable2.Name = "xrTable2";
this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1,
this.xrTableRow17});
this.xrTable2.SizeF = new System.Drawing.SizeF(696.5F, 40F);
this.xrTableRow1});
this.xrTable2.SizeF = new System.Drawing.SizeF(696.5F, 50F);
this.xrTable2.StylePriority.UseBackColor = false;
this.xrTable2.StylePriority.UseBorderColor = false;
this.xrTable2.StylePriority.UseFont = false;
@@ -757,13 +412,10 @@ namespace LebenshilfeFrankfurtOder
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell3,
this.xrTableCell7,
this.xrTableCell4,
this.xrTableCell6,
this.xrTableCell5});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.10000000000000003D;
this.xrTableRow1.Weight = 0.25000000000000011D;
//
// xrTableCell1
//
@@ -775,54 +427,20 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Bezeichnung";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.26923076923076911D;
//
// xrTableCell3
//
this.xrTableCell3.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.StylePriority.UseBorders = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell3.Weight = 0.1923076688326322D;
this.xrTableCell1.Text = "Name des Kindes";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell1.Weight = 0.4615384615384614D;
//
// xrTableCell7
//
this.xrTableCell7.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell7.Multiline = true;
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseBorders = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Anzahl";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell7.Weight = 0.099999999999999978D;
//
// xrTableCell4
//
this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell4.CanShrink = true;
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.StylePriority.UseBorders = false;
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UsePadding = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Einheit";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell4.Weight = 0.15384615384615383D;
//
// xrTableCell6
//
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Top | DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseBorderColor = false;
this.xrTableCell6.StylePriority.UseBorders = false;
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Betrag";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell6.Weight = 0.14615386962890622D;
this.xrTableCell7.Text = "Anzahl der\r\nanwesenden Tage";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell7.Weight = 0.30769230769230765D;
//
// xrTableCell5
//
@@ -834,28 +452,9 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.StylePriority.UsePadding = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Gesamt";
this.xrTableCell5.Text = "Betrag nach Staffelpreis anteilmäßig in €";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell5.Weight = 0.20999999999999996D;
//
// xrTableRow17
//
this.xrTableRow17.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell8});
this.xrTableRow17.Name = "xrTableRow17";
this.xrTableRow17.Weight = 0.10000000000000003D;
//
// xrTableCell8
//
this.xrTableCell8.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.StylePriority.UseBorders = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
this.xrTableCell8.Text = "Betreuungsleistung";
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell8.Weight = 1.0715384615384613D;
this.xrTableCell5.Weight = 0.30230769230769222D;
//
// lblRechnung
//
@@ -937,7 +536,6 @@ namespace LebenshilfeFrankfurtOder
this.xrTable1});
this.GroupFooter1.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.GroupFooter1.HeightF = 80F;
this.GroupFooter1.Name = "GroupFooter1";
this.GroupFooter1.StylePriority.UseFont = false;
//
@@ -951,7 +549,7 @@ namespace LebenshilfeFrankfurtOder
this.xrTableRow4,
this.xrTableRow11,
this.xrTableRow6});
this.xrTable1.SizeF = new System.Drawing.SizeF(696.5F, 80F);
this.xrTable1.SizeF = new System.Drawing.SizeF(696.5F, 100F);
this.xrTable1.StylePriority.UseBackColor = false;
this.xrTable1.StylePriority.UseBorderColor = false;
this.xrTable1.StylePriority.UseBorders = false;
@@ -965,7 +563,7 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell16,
this.lblGesamt});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 0.10000000000000003D;
this.xrTableRow3.Weight = 0.12500000000000006D;
//
// xrTableCell11
//
@@ -1002,7 +600,7 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.Text = "Rechnungsbetrag netto";
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell16.Weight = 0.39999999999999991D;
this.xrTableCell16.Weight = 0.3076923076923076D;
//
// lblGesamt
//
@@ -1014,7 +612,7 @@ namespace LebenshilfeFrankfurtOder
this.lblGesamt.StylePriority.UsePadding = false;
this.lblGesamt.StylePriority.UseTextAlignment = false;
this.lblGesamt.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.lblGesamt.Weight = 0.20999999999999996D;
this.lblGesamt.Weight = 0.30230769230769228D;
//
// xrTableRow4
//
@@ -1024,7 +622,7 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell18,
this.xrTableCell19});
this.xrTableRow4.Name = "xrTableRow4";
this.xrTableRow4.Weight = 0.10000000000000003D;
this.xrTableRow4.Weight = 0.12500000000000006D;
//
// xrTableCell13
//
@@ -1045,12 +643,13 @@ namespace LebenshilfeFrankfurtOder
//
// xrTableCell18
//
this.xrTableCell18.Multiline = true;
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseBorders = false;
this.xrTableCell18.StylePriority.UseTextAlignment = false;
this.xrTableCell18.Text = "befreit von der Mehrwertsteuer";
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell18.Weight = 0.39999999999999991D;
this.xrTableCell18.Weight = 0.35259887695312492D;
//
// xrTableCell19
//
@@ -1060,7 +659,7 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell19.StylePriority.UseTextAlignment = false;
this.xrTableCell19.Text = "0,00 €";
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell19.Weight = 0.20999999999999996D;
this.xrTableCell19.Weight = 0.25740112304687496D;
//
// xrTableRow11
//
@@ -1070,7 +669,7 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell35,
this.xrTableCell36});
this.xrTableRow11.Name = "xrTableRow11";
this.xrTableRow11.Weight = 0.10000000000000003D;
this.xrTableRow11.Weight = 0.12500000000000006D;
//
// xrTableCell32
//
@@ -1092,8 +691,9 @@ namespace LebenshilfeFrankfurtOder
//
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "Elternbeiträge";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell35.Weight = 0.39999999999999991D;
this.xrTableCell35.Weight = 0.3076923076923076D;
//
// xrTableCell36
//
@@ -1101,8 +701,9 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.StylePriority.UseBorders = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.Text = "0,00 €";
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell36.Weight = 0.20999999999999996D;
this.xrTableCell36.Weight = 0.30230769230769228D;
//
// xrTableRow6
//
@@ -1112,7 +713,7 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell26,
this.xrTableCell27});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 0.10000000000000003D;
this.xrTableRow6.Weight = 0.12500000000000003D;
//
// xrTableCell24
//
@@ -1142,7 +743,7 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell26.StylePriority.UseTextAlignment = false;
this.xrTableCell26.Text = "Rechnungsbetrag brutto";
this.xrTableCell26.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell26.Weight = 0.39999999999999991D;
this.xrTableCell26.Weight = 0.3076923076923076D;
//
// xrTableCell27
//
@@ -1157,7 +758,7 @@ namespace LebenshilfeFrankfurtOder
this.xrTableCell27.StylePriority.UseFont = false;
this.xrTableCell27.StylePriority.UseTextAlignment = false;
this.xrTableCell27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell27.Weight = 0.20999999999999996D;
this.xrTableCell27.Weight = 0.30230769230769228D;
//
// ReportFooter
//
@@ -1192,6 +793,105 @@ namespace LebenshilfeFrankfurtOder
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.Text = "Bitte überweisen Sie den Rechnungsbetrag unter Angabe der Kunden-Nr. und der Rech" +
"nungs-Nr. auf das unten angegebene Konto.";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO);
//
// DetailReport1
//
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail2,
this.DetailReport2});
this.DetailReport1.DataMember = "ServiceInvoicePeriods";
this.DetailReport1.DataSource = this.bindingSource1;
this.DetailReport1.Level = 0;
this.DetailReport1.Name = "DetailReport1";
//
// Detail2
//
this.Detail2.HeightF = 0F;
this.Detail2.Name = "Detail2";
//
// DetailReport2
//
this.DetailReport2.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail3});
this.DetailReport2.DataMember = "ServiceInvoicePeriods.ServiceInvoiceItems";
this.DetailReport2.DataSource = this.bindingSource1;
this.DetailReport2.Level = 0;
this.DetailReport2.Name = "DetailReport2";
//
// Detail3
//
this.Detail3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable4});
this.Detail3.HeightF = 25F;
this.Detail3.Name = "Detail3";
//
// xrTable4
//
this.xrTable4.Font = new DevExpress.Drawing.DXFont("Arial", 11F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] {
new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))});
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0.000406901F, 0F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow5});
this.xrTable4.SizeF = new System.Drawing.SizeF(696.5F, 25F);
this.xrTable4.StylePriority.UseBackColor = false;
this.xrTable4.StylePriority.UseBorderColor = false;
this.xrTable4.StylePriority.UseFont = false;
this.xrTable4.StylePriority.UsePadding = false;
//
// xrTableRow5
//
this.xrTableRow5.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell10,
this.xrTableCell12,
this.xrTableCell21});
this.xrTableRow5.Name = "xrTableRow5";
this.xrTableRow5.Weight = 0.12500000000000006D;
//
// xrTableCell10
//
this.xrTableCell10.Borders = DevExpress.XtraPrinting.BorderSide.Left;
this.xrTableCell10.Multiline = true;
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UseBorders = false;
this.xrTableCell10.StylePriority.UseFont = false;
this.xrTableCell10.StylePriority.UsePadding = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "[CustomerLastname], [CustomerFirstname]";
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell10.Weight = 0.46153846153846145D;
//
// xrTableCell12
//
this.xrTableCell12.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.UnitCount")});
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseBorders = false;
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell12.TextFormatString = "{0:0}";
this.xrTableCell12.Weight = 0.3076923076923076D;
//
// xrTableCell21
//
this.xrTableCell21.Borders = DevExpress.XtraPrinting.BorderSide.Right;
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.NetAmount")});
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseBorderColor = false;
this.xrTableCell21.StylePriority.UseBorders = false;
this.xrTableCell21.StylePriority.UseFont = false;
this.xrTableCell21.StylePriority.UsePadding = false;
this.xrTableCell21.StylePriority.UseTextAlignment = false;
this.xrTableCell21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell21.TextFormatString = "{0:c}";
this.xrTableCell21.Weight = 0.30230769230769228D;
//
// RechnungAusserschulischesBetreuungsangebot
//
@@ -1201,7 +901,8 @@ namespace LebenshilfeFrankfurtOder
this.topMarginBand1,
this.bottomMarginBand1,
this.GroupFooter1,
this.ReportFooter});
this.ReportFooter,
this.DetailReport1});
this.ComponentStorage.AddRange(new System.ComponentModel.IComponent[] {
this.bindingSource1});
this.DataSource = this.bindingSource1;
@@ -1221,12 +922,12 @@ namespace LebenshilfeFrankfurtOder
xrWatermark1.PageRange = "1";
this.Watermarks.Add(xrWatermark1);
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.rtFooterAlt)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.rtFooterNeu)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -1244,9 +945,7 @@ namespace LebenshilfeFrankfurtOder
private DevExpress.XtraReports.UI.XRTable xrTable2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRLabel xrLabel33;
private DevExpress.XtraReports.UI.XRLabel xrLabel34;
private DevExpress.XtraReports.UI.XRLabel lblTitel;
@@ -1270,41 +969,7 @@ namespace LebenshilfeFrankfurtOder
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
private DevExpress.XtraReports.UI.XRLine xrLine1;
private DevExpress.XtraReports.UI.XRLabel xrLabel38;
private DevExpress.XtraReports.UI.XRTable xrTable3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell cellEinheit1;
private DevExpress.XtraReports.UI.XRTableCell cellBetrag1;
private DevExpress.XtraReports.UI.XRTableCell cellGesamt1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
private DevExpress.XtraReports.UI.XRTableCell cellEinheit2;
private DevExpress.XtraReports.UI.XRTableCell cellBetrag2;
private DevExpress.XtraReports.UI.XRTableCell cellGesamt2;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow8;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell29;
private DevExpress.XtraReports.UI.XRTableCell cellEinheit3;
private DevExpress.XtraReports.UI.XRTableCell cellBetrag3;
private DevExpress.XtraReports.UI.XRTableCell cellGesamt3;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow9;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
private DevExpress.XtraReports.UI.XRTableCell cellEinheit4;
private DevExpress.XtraReports.UI.XRTableCell cellBetrag4;
private DevExpress.XtraReports.UI.XRTableCell cellGesamt4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRowFerien;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
private DevExpress.XtraReports.UI.XRTableCell cellEinheit5;
private DevExpress.XtraReports.UI.XRTableCell cellBetrag5;
private DevExpress.XtraReports.UI.XRTableCell cellGesamt5;
private DevExpress.XtraReports.UI.XRTableCell cellAnzahl1;
private DevExpress.XtraReports.UI.XRTableCell cellAnzahl2;
private DevExpress.XtraReports.UI.XRTableCell cellAnzahl3;
private DevExpress.XtraReports.UI.XRTableCell cellAnzahl4;
private DevExpress.XtraReports.UI.XRTableCell cellAnzahl5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow17;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow11;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell32;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
@@ -1327,5 +992,14 @@ namespace LebenshilfeFrankfurtOder
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRRichText rtFooterAlt;
private DevExpress.XtraReports.UI.XRRichText rtFooterNeu;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport1;
private DevExpress.XtraReports.UI.DetailBand Detail2;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport2;
private DevExpress.XtraReports.UI.DetailBand Detail3;
private DevExpress.XtraReports.UI.XRTable xrTable4;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell21;
}
}

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
@@ -76,11 +77,11 @@ namespace LebenshilfeFrankfurtOder
String defaultEinheit = "Tage";
decimal anzahl1 = 0;
decimal anzahl2 = 0;
decimal anzahl3 = 0;
decimal anzahl4 = 0;
decimal anzahl5 = 0;
//decimal anzahl1 = 0;
//decimal anzahl2 = 0;
//decimal anzahl3 = 0;
//decimal anzahl4 = 0;
//decimal anzahl5 = 0;
bool istFerienbetreuung = pRO.InvoiceBase.InvoiceId == "RechnungABAFerien";
@@ -92,137 +93,154 @@ namespace LebenshilfeFrankfurtOder
{
lblTitel.Text = "Außerschulisches Betreuungsangebot Früh-/Spätbetreuung";
}
decimal betrag1 = FrankfurtOderHelper.GetStaffelPreis(1, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0;
decimal betrag2 = FrankfurtOderHelper.GetStaffelPreis(2, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0;
decimal betrag3 = FrankfurtOderHelper.GetStaffelPreis(3, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0;
decimal betrag4 = FrankfurtOderHelper.GetStaffelPreis(4, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0;
decimal betrag5 = FrankfurtOderHelper.GetStaffelPreis(5, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0;
//decimal betrag1 = FrankfurtOderHelper.GetStaffelPreis(1, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0;
//decimal betrag2 = FrankfurtOderHelper.GetStaffelPreis(2, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0;
//decimal betrag3 = FrankfurtOderHelper.GetStaffelPreis(3, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0;
//decimal betrag4 = FrankfurtOderHelper.GetStaffelPreis(4, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0;
//decimal betrag5 = FrankfurtOderHelper.GetStaffelPreis(5, pRO.AccountingPeriodStart, istFerienbetreuung) ?? 0;
decimal gesamt1 = 0;
decimal gesamt2 = 0;
decimal gesamt3 = 0;
decimal gesamt4 = 0;
decimal gesamt5 = 0;
//decimal gesamt1 = 0;
//decimal gesamt2 = 0;
//decimal gesamt3 = 0;
//decimal gesamt4 = 0;
//decimal gesamt5 = 0;
var dict = new Dictionary<String, bool>();
//var dict = new Dictionary<String, bool>();
decimal gesamtSumme = 0;
if (pRO.ServiceInvoicePeriods != null)
{
foreach (var sip in pRO.ServiceInvoicePeriods)
{
if (!String.IsNullOrEmpty(sip.Notice))
Dictionary<String, ServiceInvoiceItemRO> klient2Item = new Dictionary<string, ServiceInvoiceItemRO>();
if (!String.IsNullOrEmpty(sip.Notice))
{
klientenNamen = sip.Notice;
}
foreach (var ii in sip.ServiceInvoiceItems)
{
String key = String.Format("{0:dd.MM.yyyy}_{1}", ii.AccountingPeriodStart.Value.Date, ii.UnitDescription);
String key = String.Format("{0}, {1}", ii.CustomerLastname, ii.CustomerFirstname);
if (ii.UnitDescription.StartsWith("Staffelpreis 1"))
{
if (!dict.ContainsKey(key))
{
anzahl1++;
}
//anzahl1 += ii.UnitCount ?? 0;
//betrag1 += ii.AmountPerUnit ?? betrag1;
gesamt1 += ii.NetAmount ?? 0;
}
else if (ii.UnitDescription.StartsWith("Staffelpreis 2"))
if (!klient2Item.ContainsKey(key))
{
if (!dict.ContainsKey(key))
{
anzahl2++;
}
//anzahl2 += ii.UnitCount ?? 0;
//betrag2 += ii.AmountPerUnit ?? betrag2;
gesamt2 += ii.NetAmount ?? 0;
}
else if (ii.UnitDescription.StartsWith("Staffelpreis 3"))
{
if (!dict.ContainsKey(key))
{
anzahl3++;
}
//anzahl3 += ii.UnitCount ?? 0;
//betrag3 += ii.AmountPerUnit ?? betrag3;
gesamt3 += ii.NetAmount ?? 0;
}
else if (ii.UnitDescription.StartsWith("Staffelpreis 4"))
{
if (!dict.ContainsKey(key))
{
anzahl4++;
}
//anzahl4 += ii.UnitCount ?? 0;
//betrag4 += ii.AmountPerUnit ?? betrag4;
gesamt4 += ii.NetAmount ?? 0;
var newii = new ServiceInvoiceItemRO();
newii.CustomerFirstname = ii.CustomerFirstname;
newii.CustomerLastname = ii.CustomerLastname;
newii.UnitCount = 0;
newii.NetAmount = 0;
klient2Item.Add(key, newii);
}
else if (ii.UnitDescription.StartsWith("Staffelpreis 5"))
{
if (!dict.ContainsKey(key))
{
anzahl5++;
}
//anzahl5 += ii.UnitCount ?? 0;
//betrag5 += ii.AmountPerUnit ?? betrag5;
gesamt5 += ii.NetAmount ?? 0;
}
if (!dict.ContainsKey(key))
{
dict.Add(key, true);
}
klient2Item[key].UnitCount += ii.UnitCount ?? 0;
klient2Item[key].NetAmount += ii.NetAmount ?? 0;
gesamtSumme += ii.NetAmount ?? 0;
// if (ii.UnitDescription.StartsWith("Staffelpreis 1"))
//{
// if (!dict.ContainsKey(key))
// {
// anzahl1++;
// }
// //anzahl1 += ii.UnitCount ?? 0;
// //betrag1 += ii.AmountPerUnit ?? betrag1;
// gesamt1 += ii.NetAmount ?? 0;
//}
// else if (ii.UnitDescription.StartsWith("Staffelpreis 2"))
// {
// if (!dict.ContainsKey(key))
// {
// anzahl2++;
// }
// //anzahl2 += ii.UnitCount ?? 0;
// //betrag2 += ii.AmountPerUnit ?? betrag2;
// gesamt2 += ii.NetAmount ?? 0;
//}
//else if (ii.UnitDescription.StartsWith("Staffelpreis 3"))
// {
// if (!dict.ContainsKey(key))
// {
// anzahl3++;
// }
// //anzahl3 += ii.UnitCount ?? 0;
// //betrag3 += ii.AmountPerUnit ?? betrag3;
// gesamt3 += ii.NetAmount ?? 0;
//}
//else if (ii.UnitDescription.StartsWith("Staffelpreis 4"))
// {
// if (!dict.ContainsKey(key))
// {
// anzahl4++;
// }
// //anzahl4 += ii.UnitCount ?? 0;
// //betrag4 += ii.AmountPerUnit ?? betrag4;
// gesamt4 += ii.NetAmount ?? 0;
// }
// else if (ii.UnitDescription.StartsWith("Staffelpreis 5"))
// {
// if (!dict.ContainsKey(key))
// {
// anzahl5++;
// }
// //anzahl5 += ii.UnitCount ?? 0;
// //betrag5 += ii.AmountPerUnit ?? betrag5;
// gesamt5 += ii.NetAmount ?? 0;
// }
}
sip.ServiceInvoiceItems.Clear();
sip.ServiceInvoiceItems.AddRange(klient2Item.Values.OrderBy(i => i.CustomerLastname));
}
}
//lblKlienten.Text = String.Format("Hort: {0}", klientenNamen);
pRO.OrganisationDebitorNumber = GetKundennummer(pRO);
cellAnzahl1.Text = String.Format("{0:0}", anzahl1);
cellAnzahl2.Text = String.Format("{0:0}", anzahl2);
cellAnzahl3.Text = String.Format("{0:0}", anzahl3);
cellAnzahl4.Text = String.Format("{0:0}", anzahl4);
cellAnzahl5.Text = String.Format("{0:0}", anzahl5);
//cellAnzahl1.Text = String.Format("{0:0}", anzahl1);
//cellAnzahl2.Text = String.Format("{0:0}", anzahl2);
//cellAnzahl3.Text = String.Format("{0:0}", anzahl3);
//cellAnzahl4.Text = String.Format("{0:0}", anzahl4);
//cellAnzahl5.Text = String.Format("{0:0}", anzahl5);
cellEinheit1.Text = String.Format("{0}", defaultEinheit);
cellEinheit2.Text = String.Format("{0}", defaultEinheit);
cellEinheit3.Text = String.Format("{0}", defaultEinheit);
cellEinheit4.Text = String.Format("{0}", defaultEinheit);
cellEinheit5.Text = String.Format("{0}", defaultEinheit);
//cellEinheit1.Text = String.Format("{0}", defaultEinheit);
//cellEinheit2.Text = String.Format("{0}", defaultEinheit);
//cellEinheit3.Text = String.Format("{0}", defaultEinheit);
//cellEinheit4.Text = String.Format("{0}", defaultEinheit);
//cellEinheit5.Text = String.Format("{0}", defaultEinheit);
cellBetrag1.Text = String.Format("{0:#,##0.00}", betrag1);
cellBetrag2.Text = String.Format("{0:#,##0.00}", betrag2);
cellBetrag3.Text = String.Format("{0:#,##0.00}", betrag3);
cellBetrag4.Text = String.Format("{0:#,##0.00}", betrag4);
cellBetrag5.Text = String.Format("{0:#,##0.00}", betrag5);
//cellBetrag1.Text = String.Format("{0:#,##0.00}", betrag1);
//cellBetrag2.Text = String.Format("{0:#,##0.00}", betrag2);
//cellBetrag3.Text = String.Format("{0:#,##0.00}", betrag3);
//cellBetrag4.Text = String.Format("{0:#,##0.00}", betrag4);
//cellBetrag5.Text = String.Format("{0:#,##0.00}", betrag5);
cellGesamt1.Text = String.Format("{0:c}", gesamt1);
cellGesamt2.Text = String.Format("{0:c}", gesamt2);
cellGesamt3.Text = String.Format("{0:c}", gesamt3);
cellGesamt4.Text = String.Format("{0:c}", gesamt4);
cellGesamt5.Text = String.Format("{0:c}", gesamt5);
//cellGesamt1.Text = String.Format("{0:c}", gesamt1);
//cellGesamt2.Text = String.Format("{0:c}", gesamt2);
//cellGesamt3.Text = String.Format("{0:c}", gesamt3);
//cellGesamt4.Text = String.Format("{0:c}", gesamt4);
//cellGesamt5.Text = String.Format("{0:c}", gesamt5);
//cellEigenanteil.Text = String.Format("{0:c}", eigenanteil);
lblGesamt.Text = String.Format("{0:c}", gesamt1 + gesamt2 + gesamt3 + gesamt4 + gesamt5);
lblGesamt.Text = String.Format("{0:c}", gesamtSumme); // gesamt1 + gesamt2 + gesamt3 + gesamt4 + gesamt5);
if (istFerienbetreuung)
{
xrTableRowFerien.Visible = false;
}
//if (istFerienbetreuung)
//{
// xrTableRowFerien.Visible = false;
//}
SetRechnungsText(pRO);
SetFooter(pRO);

View File

@@ -355,7 +355,7 @@ Bei Rückfragen erreichen Sie uns an jedem Unterrichtstag von 6:30 Uhr bis 10:00
vertretungsItem.MailSchule.Subject = "Vertretungsinformation";
if (vertretung != null)
{
String vertreterName = vertretung.Person.LastName;
String vertreterName = String.Format("{0} {1}", vertretung.Person.FirstName, vertretung.Person.LastName).Trim();
if (vertretung.Person.Sex.HasValue && vertretung.Person.Sex.Value == Sex.Male)
{
vertreterName = "Herr " + vertreterName;

View File

@@ -85,7 +85,7 @@ namespace BeWo.Service.Plugins
//t = "4867997795"; // ADiK Kleve
//t = "3184859776"; // Sergej Becker
//t = "7752610643"; // BWK Gbr
//t = "3785623125"; // Betreuwo
t = "3785623125"; // Betreuwo
//t = "7130228334"; // LH Borken
//t = "4209820830"; // VKM Hamm
//t = "5700328131"; // Betreutes Wohnen St. Ludgerus Essen-Werden
@@ -170,7 +170,7 @@ namespace BeWo.Service.Plugins
//t = "7803602698"; // Taubblindendienst
//t = "5518600303"; // Wetterleuchten e.V.
//t = "4096649015"; // AWO Dortmund
//t = "3614251071"; // Pusteblume
t = "3614251071"; // Pusteblume
//t = "7755740484"; // Sawo
//t = "8275654834"; // Twg Jonathan
//t = "6586058528"; // Freundeskreis Suchtkrankenhilfe e.V. (FFS)
@@ -226,7 +226,7 @@ namespace BeWo.Service.Plugins
//t = "7817461089"; // FAB e.V. (Familienarbeit und Beratung e.V.)
//t = "5207911843"; // Pro Balance
//t = "8619663355"; // HSH Cologne
//t = "1652658918"; // LH Frankfurt Oder
t = "1652658918"; // LH Frankfurt Oder
//t = "7696927868"; // Kuhring Betreuung
//t = "6251348980"; // BeWo Gün
//t = "6782533512"; // LH Dorsten
@@ -280,7 +280,7 @@ namespace BeWo.Service.Plugins
//t = "6860475645"; // Lebenshilfe Duisburg ATZ (Projekt heißt LebenshilfeDuisburgAtz6860475645)
//t = "9678360705"; // Lebenshilfe Duisburg HPTG (Projekt heißt LebenshilfeDuisburgHPTG)
//t = "4823067940"; // Die Kette 2
t = "8283849714"; // Forum e.V. (proviel GmbH)
//t = "8283849714"; // Forum e.V. (proviel GmbH)
//t = "3915346496"; // Sprungbrett 2. DB (Haus Theresia)
//t = "2387527289"; // Lebenshilfe Duisburg HPFH
//t = "2314784470"; // Lebenshilfe Duisburg BeWo

View File

@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Services;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter;
using NHibernate.Linq;
namespace BeWo.Service.Reporting.Straffaelligenhilfe
{
public class AsaStatistic : StatisticBase
{
public int Anzahl01 { get; set; } // Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge
public int Anzahl02 { get; set; } // Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge
public int Anzahl1 { get; set; } // Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2)
public int Anzahl2 { get; set; } // Anzahl aller erledigten Aufträge (incl. Abbrüche, ...)
// 3.1. Methode (der erledigten Aufträge gem. Zeile 2)
public int Anzahl3_1_1 { get; set; } // Klient wurde aufgesucht
public int Anzahl3_1_2 { get; set; } // Klient wurde angetroffen
public int Anzahl3_1_3 { get; set; } // Klient wurde nicht angetroffen
public int Anzahl3_1_4 { get; set; } // Klient wurde nicht aufgesucht, da Klient sich in VBS meldet (1. Anschreiben)
// 3.2. Verlauf (der erledigten Aufträge gem. Zeile 2)
public int Anzahl3_2_1 { get; set; } // Übergang in Schwitzen statt Sitzen
public int Anzahl3_2_2 { get; set; } // Übergang in Treuhänderische Geldverwaltung
public int Anzahl3_2_3 { get; set; } // Kein Interesse / Abbruch / Scheitern
public override void ProcessCustomer(Customer customer)
{
var asaList = GetVgaList(customer, VgaTypeEnum.Asa);
foreach (var item in asaList)
{
// Zählen
}
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Services;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter;
using NHibernate.Linq;
namespace BeWo.Service.Reporting.Straffaelligenhilfe
{
public class TgvStatistic : StatisticBase
{
public int Anzahl01 { get; set; } // Anzahl der aus dem vorhergehenden Berichtszeitraum übernommenen offenen Aufträge
public int Anzahl02 { get; set; } // Anzahl der im aktuellen Berichtszeitraum erteilten Aufträge
public int Anzahl1 { get; set; } // Anzahl der insges. erteilten Aufträge (Summe Zeilen 0.1 + 0.2)
public decimal Betrag2 { get; set; } // Höhe der Geldstrafe in € (gem. Zeile 0.2)
public int Anzahl3 { get; set; } // Anzahl aller erledigten Aufträge
public int Anzahl3_1 { get; set; } // davon Anzahl der gescheiterten Fälle
public int Anzahl3_2 { get; set; } // davon Anzahl der positiv erledigten Aufträge
public decimal Betrag4_1 { get; set; } // Summe der nachgewiesenen (Raten) oder Einmalzahlungen in €
public int Anzahl4_2 { get; set; } // Anzahl der geleisteten Arbeitsstunden (in TGV)
public decimal Betrag5 { get; set; } // Anzahl der vermiedenen Hafttage (nur durch TGV)
public int Anzahl6 { get; set; } // Klient wurde durch BGBW aufgesucht (gem. Zeile 0.2)
public override void ProcessCustomer(Customer customer)
{
var tgvList = GetVgaList(customer, VgaTypeEnum.Tgv);
foreach (var item in tgvList)
{
// Zählen
}
}
}
}

View File

@@ -516,6 +516,8 @@
<Compile Include="Reporting\JahresBerichtNachAlter.cs" />
<Compile Include="Reporting\AnnualReportFilter.cs" />
<Compile Include="Reporting\AnnualReportFactory.cs" />
<Compile Include="Reporting\Straffaelligenhilfe\AsaStatistic.cs" />
<Compile Include="Reporting\Straffaelligenhilfe\TgvStatistic.cs" />
<Compile Include="Reporting\Straffaelligenhilfe\VgaStatistic.cs" />
<Compile Include="Reporting\Straffaelligenhilfe\StatisticBase.cs" />
<Compile Include="SBD\VertretungsAlgorithmus.cs" />

View File

@@ -528,5 +528,9 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<CompactTeamDC> FindLeadingCompactTeamsOfEmployee(long employeeOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<CompactEmployeeDC> GetActiveCompactEmployeesByOids(List<long> employeeOids);
}
}

View File

@@ -1431,5 +1431,9 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
AiVoiceDataDC GetAIVoiceTranscript(AiVoiceDataDC data);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<ResourceDC> GetResourcesByOids(List<long> resourceOids);
}
}

View File

@@ -2348,5 +2348,19 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(ex);
}
}
}
public List<CompactEmployeeDC> GetActiveCompactEmployeesByOids(List<long> employeeOids)
{
try
{
var employees = DAOFactory.SearchDAO.GetActiveEmployeesByOids(employeeOids);
return MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(employees);
}
catch(Exception ex)
{
throw Utils.CreateBeWoFaultException(ex);
}
}
}
}

View File

@@ -9065,7 +9065,7 @@ namespace BeWo.Service.ServiceImplementations
{
var s = PluginLoader.FindClass<TranscriptionService>();
var data = s.StartTranskription(PluginLoader.Tenant);
var data = s.InitTranskription(PluginLoader.Tenant, true);
return s.MapAiVoiceDataDC(data);
}
@@ -9092,5 +9092,12 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(e);
}
}
public List<ResourceDC> GetResourcesByOids(List<long> resourceOids)
{
var resources = DAOFactory.GenericDAO.GetActiveByIDs<Resource>(resourceOids);
return MapperFactory.ResourceDC_Resource.MapToNewDCs(resources);
}
}
}

View File

@@ -498,10 +498,10 @@ namespace BeWo.Service.ServiceImplementations
result = valid ? UserValidationResult.UserValid : UserValidationResult.UserUnknown;
if (result.Value == UserValidationResult.UserValid)
{
//if (lUser.Employee.IsActive == ActivationTypeId.Archived)
//{
//result = UserValidationResult.EmployeeDeleted;
//}
if (lUser.Employee.IsActive != ActivationTypeId.Active)
{
result = UserValidationResult.EmployeeDeleted;
}
var settings = AppSettings.CreateSettings();
#if DEBUG

View File

@@ -17,7 +17,7 @@ namespace BeWo.Service.AI
{
public class TranscriptionService
{
public AiVoiceData StartTranskription(String tenant, String sprache = "de")
public AiVoiceData InitTranskription(String tenant, bool sendOwnChatMessage, String sprache = "de")
{
AiVoiceData avd = null;
@@ -26,9 +26,10 @@ namespace BeWo.Service.AI
{
#if DEBUG
avd = new AiVoiceData();
avd.Token = "Test";
avd.StatusMessage = "1";
DAOFactory.GenericDAO.Update(avd);
avd.ResultUrl = "https://example.com/";
return avd;
#endif
@@ -37,9 +38,18 @@ namespace BeWo.Service.AI
if (!String.IsNullOrEmpty(avd.Token))
{
var url = String.Format("ownchat://voice/?token={0}", avd.Token);
var msg = String.Format("Bitte klicken Sie auf folgenden Link um die Aufnahme zu starten:\n\n{0}", url);
OwnChatHelper.SendOwnChatMessage(msg, UserRightHelper.GetLoggedInUser().Employee);
if (sendOwnChatMessage)
{
var msg = String.Format("Bitte klicken Sie auf folgenden Link um die Aufnahme zu starten:\n\n{0}", url);
OwnChatHelper.SendOwnChatMessage(msg, UserRightHelper.GetLoggedInUser().Employee);
}
else
{
avd.ResultUrl = url;
}
}
return avd;

View File

@@ -226,7 +226,7 @@ namespace BS.Shared.DataContracts
public override string ToString() => $"{SchedulerAppointmentOid} {StartDate:dd.MM.yyyy HH:mm}-{EndDate:dd.MM.yyyy HH:mm}: {Subject}";
public static SchedulerAppointmentDC RecurringExceptionFromDevExpressAppointment(Appointment appointment, SchedulerAppointmentDC baseAppointment)
public static SchedulerAppointmentDC RecurringExceptionFromDevExpressAppointment(Appointment appointment, SchedulerAppointmentDC baseAppointment, int recurrenceIndex, string recurrenceId)
{
return new SchedulerAppointmentDC
{
@@ -242,12 +242,12 @@ namespace BS.Shared.DataContracts
FormerBookingSequenceOid = baseAppointment.FormerBookingSequenceOid,
IsPrivate = baseAppointment.IsPrivate,
Location = baseAppointment.Location,
StartDate = appointment.Start,
EndDate = appointment.End,
StartDate = baseAppointment.StartDate,
EndDate = baseAppointment.EndDate,
RecurrenceId = appointment.RecurrenceInfo.Id.ToString(),
LabelKey = (long?) appointment.LabelKey,
RecurrenceIndex = appointment.RecurrenceIndex,
RecurrenceInfo = appointment.RecurrenceInfo.ToXml(),
RecurrenceInfo = $"<RecurrenceInfo Id=\"{recurrenceId}\" Index=\"{recurrenceIndex}\" />",
Type = (int) appointment.Type,
SupportConceptList = baseAppointment.SupportConceptList,
ServiceRecordList = baseAppointment.ServiceRecordList