Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo
This commit is contained in:
@@ -538,7 +538,7 @@ namespace BeWo
|
||||
showBetrag = true;
|
||||
showPivotGrid = true;
|
||||
showArbeitszeiten = true;
|
||||
showMarker = true;
|
||||
//showMarker = true;
|
||||
showUrlaubsplanung = true;
|
||||
showDienstplanung = true;
|
||||
showHilfeplanBezeichnung = true;
|
||||
|
||||
@@ -696,7 +696,7 @@ namespace BeWo
|
||||
|
||||
public bool DoSaveCheck()
|
||||
{
|
||||
return _CurrentDetailView == null || _CurrentDetailView.DoSaveCheck();
|
||||
return _CurrentDetailView is null || _CurrentDetailView.DoSaveCheck();
|
||||
}
|
||||
|
||||
private void InitCommandBindings()
|
||||
@@ -706,7 +706,7 @@ namespace BeWo
|
||||
ApplicationCommands.Save,
|
||||
(s, e) =>
|
||||
{
|
||||
if (_CurrentModalPopup == null)
|
||||
if (_CurrentModalPopup is null)
|
||||
{
|
||||
_CurrentDetailView.SaveData();
|
||||
}
|
||||
@@ -717,13 +717,13 @@ namespace BeWo
|
||||
},
|
||||
(s, e) =>
|
||||
{
|
||||
if (_CurrentModalPopup == null)
|
||||
if (_CurrentModalPopup is null)
|
||||
{
|
||||
e.CanExecute = _CurrentDetailView != null ? _CurrentDetailView.IsDirty : false;
|
||||
e.CanExecute = _CurrentDetailView?.IsDirty ?? false;
|
||||
}
|
||||
else
|
||||
{
|
||||
e.CanExecute = _CurrentDetailView != null && (_CurrentModalPopup is BeWoView && ((BeWoView) _CurrentModalPopup).IsDirty);
|
||||
e.CanExecute = _CurrentDetailView != null && (_CurrentModalPopup is BeWoView view && view.IsDirty);
|
||||
}
|
||||
}));
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ namespace BeWo.View.Master
|
||||
}
|
||||
|
||||
// Mitarbeiterstundenkonto
|
||||
if (BeWoApp.Tenant == "3010479871" || (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams)))
|
||||
if(BeWoApp.Tenant == "3010479871" || (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams)))
|
||||
{
|
||||
//Aachener Verein
|
||||
tabitem_makonto.Visibility = Visibility.Collapsed;
|
||||
|
||||
@@ -126,6 +126,8 @@ namespace BeWoPlanerMobil.Controllers
|
||||
TempData["show_pw_change_popup"] = tempDataValue;
|
||||
}
|
||||
}
|
||||
|
||||
Model.ShowMarker = UserSettingsUtils.GetSettingValueAsBool(Model.Mandator.Settings, SettingsKeys.ShowMarker);
|
||||
}
|
||||
|
||||
var mandatorSettings = Model.Mandator.Settings;
|
||||
@@ -270,7 +272,6 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Log.Info($"Model.SupportConceptListObjects Oids = {sb}");
|
||||
|
||||
}
|
||||
//Log.Info(String.Format("Main() Set CostBearer2SupportConceptOid = -1: Model.SelectedSupportConceptListObject is null {0}, isInList {1}", Model.SelectedSupportConceptListObject is null, isInList));
|
||||
|
||||
Model.SelectedSupportConceptListObject = Model.SupportConceptListObjects.FirstOrDefault(f => f.CostBearer2SupportConceptOid == "-1") ?? Model.SupportConceptListObjects.First();
|
||||
Model.CostBearer2SupportConceptOid = -1;
|
||||
@@ -926,6 +927,7 @@ namespace BeWoPlanerMobil.Controllers
|
||||
appointmentListItemPrototype = appointmentListItem;
|
||||
}
|
||||
|
||||
var marker = "on" == collection[FormCollectionConstants.MarkerKey];
|
||||
string doku1;
|
||||
|
||||
if(Model.Dokutypes != null && Model.Dokutypes.Length > 0)
|
||||
@@ -1035,7 +1037,10 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.NewServiceRecord.Goals = Model.SelectedGoals;
|
||||
Model.NewServiceRecord.Start = zeitenFeld[0];
|
||||
Model.NewServiceRecord.End = zeitenFeld[1];
|
||||
|
||||
if(marker)
|
||||
{
|
||||
Model.NewServiceRecord.ServiceRecordType = ServiceRecordTypeId.Content;
|
||||
}
|
||||
Model.NewServiceRecord.DistanceInMeterDecimal = distanceInMeters;
|
||||
|
||||
if(Model.Employee.EmployeeOid.HasValue)
|
||||
@@ -2287,9 +2292,6 @@ namespace BeWoPlanerMobil.Controllers
|
||||
var newResult = new ValidationResult();
|
||||
var exitLoop = false;
|
||||
|
||||
// ToDo: Prüfen, ob eine Monatsunterschrift mit dem ServiceRecord verbunden ist und, ob die Zeiten geändert wurden.
|
||||
// ToDo: Ist dem so, dann eine Warnung anzeigen, dass die damit verknpüpfte Unterschrift ungültig oder gelöscht wird, und so nicht mehr auf dem QB angezeigt wird.
|
||||
|
||||
if(Model.SelectedSupportConcept != null && Model.SelectedSupportConcept.Goals.Any() && Model.SelectedGoals.Count == 0)
|
||||
{
|
||||
newResult.Message += "Es wurden keine Ziele zugeordnet.<br/><br/>";
|
||||
@@ -3037,6 +3039,8 @@ namespace BeWoPlanerMobil.Controllers
|
||||
return View("Main", Model);
|
||||
}
|
||||
|
||||
var marker = "on" == formCollection[FormCollectionConstants.MarkerKey];
|
||||
|
||||
var distanz = formCollection[FormCollectionConstants.DistanceKey];
|
||||
decimal? distanceInMeters = null;
|
||||
|
||||
@@ -3126,6 +3130,11 @@ namespace BeWoPlanerMobil.Controllers
|
||||
Model.NewServiceRecord.Start = zeitenFeld[0];
|
||||
Model.NewServiceRecord.End = zeitenFeld[1];
|
||||
|
||||
if(marker)
|
||||
{
|
||||
Model.NewServiceRecord.ServiceRecordType = ServiceRecordTypeId.Content;
|
||||
}
|
||||
|
||||
Model.NewServiceRecord.DistanceInMeterDecimal = distanceInMeters;
|
||||
|
||||
if(Model.Employee.EmployeeOid.HasValue)
|
||||
@@ -3545,6 +3554,8 @@ namespace BeWoPlanerMobil.Controllers
|
||||
return View("Main", Model);
|
||||
}
|
||||
|
||||
var marker = "on" == formCollection[FormCollectionConstants.MarkerKey];
|
||||
|
||||
var distanz = formCollection[FormCollectionConstants.DistanceKey];
|
||||
decimal? distanceInMeters = null;
|
||||
|
||||
@@ -3664,6 +3675,11 @@ namespace BeWoPlanerMobil.Controllers
|
||||
ServiceDescription = OperationsService.GetServiceDescription(Model.SelectedServiceDescriptionOid.Value)
|
||||
};
|
||||
|
||||
if(marker)
|
||||
{
|
||||
newServiceRecord.ServiceRecordType = ServiceRecordTypeId.Content;
|
||||
}
|
||||
|
||||
if(Model.IsEndDateVisible)
|
||||
{
|
||||
newServiceRecord.ServiceRecordFormat = ServiceRecordFormate.ZeiterfassungMitEndDatum;
|
||||
|
||||
@@ -56,23 +56,23 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
if(AbstractModel.HasRightToInsertRessourceAppointments)
|
||||
{
|
||||
var allResources = KalenderService.GetAllResources().ToList();
|
||||
var allResources = KalenderService.GetAllResources().OrderBy(r => r.Name).ToList();
|
||||
|
||||
var categories2Resources = new Dictionary<ValueListEntryDC, List<ResourceDC>>();
|
||||
|
||||
foreach(var category in allResources.Select(resource => resource.ResourceCategory))
|
||||
{
|
||||
categories2Resources.AddOrUpdateValueInDictionary(category, allResources.Where(resource => resource.ResourceCategory.Equals(category)).ToList());
|
||||
categories2Resources.AddOrUpdateValueInDictionary(category, allResources.Where(resource => resource.ResourceCategory.Equals(category)).OrderBy(r => r.Name).ToList());
|
||||
}
|
||||
|
||||
Model.ResourceCategories2Resources = categories2Resources;
|
||||
Model.ResourceCategories2Resources = categories2Resources.OrderBy(kvp => kvp.Key.DisplayName).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
|
||||
}
|
||||
|
||||
if(Model?.Employee?.EmployeeOid.HasValue ?? false)
|
||||
{
|
||||
var compactEmployee = EmployeeService.GetActiveCompactEmployeeWithOid(Model.Employee.EmployeeOid.Value);
|
||||
|
||||
Model.MyTeamEmployees = EmployeeService.GetAllTeamMember(compactEmployee);
|
||||
Model.MyTeamEmployees = EmployeeService.GetAllTeamMember(compactEmployee).OrderBy(employee => employee.LastName).ToList();
|
||||
}
|
||||
else if(!(Model is null))
|
||||
{
|
||||
@@ -81,7 +81,7 @@ namespace BeWoPlanerMobil.Controllers
|
||||
|
||||
if(AbstractModel.HasRightToViewTeams && (Model?.Employee?.EmployeeOid.HasValue ?? false))
|
||||
{
|
||||
Model.MyTeams = EmployeeService.GetAllActiveCompactTeamsForEmployee(Model.Employee.EmployeeOid.Value);
|
||||
Model.MyTeams = EmployeeService.GetAllActiveCompactTeamsForEmployee(Model.Employee.EmployeeOid.Value).OrderBy(team => team.Name).ToList();
|
||||
}
|
||||
|
||||
if(!(Model is null))
|
||||
@@ -175,13 +175,13 @@ namespace BeWoPlanerMobil.Controllers
|
||||
if(AbstractModel.HasRightToViewCustomerSelectionInScheduler)
|
||||
{
|
||||
//Model.AllCustomers = EmployeeService.GetActiveCompactCustomersForEmployee(Model.Employee.EmployeeOid).OrderBy(o => o.DetailDescription).ToList();
|
||||
Model.AllCustomers = CustomerService.GetAllActiveCompactCustomers();
|
||||
Model.AllCustomers = CustomerService.GetAllActiveCompactCustomers().OrderBy(customer => customer.LastName).ToList();
|
||||
}
|
||||
|
||||
if(AbstractModel.HasRightToViewEmployeeAppointments)
|
||||
{
|
||||
//Model.AllEmployees = EmployeeService.GetActiveCompactEmployeesForEmployee(Model.Employee.EmployeeOid.Value).OrderBy(o => o.DetailDescription).ToList();
|
||||
Model.AllEmployees = EmployeeService.GetAllActiveEmployeesCompact();
|
||||
Model.AllEmployees = EmployeeService.GetAllActiveEmployeesCompact().OrderBy(employee => employee.LastName).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -610,59 +610,61 @@ namespace BeWoPlanerMobil.Controllers
|
||||
return LeerzeichenFuerGetMethoden;
|
||||
}
|
||||
|
||||
var oidList = ConvertOidStringToList(resourceOids);
|
||||
|
||||
foreach(var oid in oidList)
|
||||
{
|
||||
if(!Model.ResourceCategories2Resources.Any(a => a.Value.All(b => b.ResourceOid != oid)))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new List<ResourceDC>());
|
||||
}
|
||||
}
|
||||
|
||||
var dateTimes = ConvertStringDatesToDateTimes(start, end);
|
||||
|
||||
var unavailableResources = KalenderService.CheckResourceAvailability(dateTimes.StartDate, dateTimes.EndDate, oidList, Model.SelectedAppointment?.SchedulerAppointmentOid);
|
||||
|
||||
return JsonConvert.SerializeObject(unavailableResources);
|
||||
|
||||
// ToDo: Wieder einchecken
|
||||
// ALT!
|
||||
//var oidList = ConvertOidStringToList(resourceOids);
|
||||
|
||||
//foreach(var oid in oidList)
|
||||
//{
|
||||
// if(!Model.ResourceCategories2Resources.Any(a => a.Value.All(b => b.ResourceOid != oid)))
|
||||
// {
|
||||
// return LeerzeichenFuerGetMethoden;
|
||||
// return JsonConvert.SerializeObject(new List<ResourceDC>());
|
||||
// }
|
||||
//}
|
||||
|
||||
//var dateTimes = ConvertStringDatesToDateTimes(start, end);
|
||||
|
||||
//if(allDay)
|
||||
//{
|
||||
// dateTimes.EndDate = dateTimes.EndDate.AddDays(1);
|
||||
//}
|
||||
//var unavailableResources = KalenderService.CheckResourceAvailability(dateTimes.StartDate, dateTimes.EndDate, oidList, Model.SelectedAppointment?.SchedulerAppointmentOid);
|
||||
|
||||
//var info = KalenderService.CheckResourceAvailabilityWithEmployeeInformation(dateTimes.StartDate, dateTimes.EndDate, oidList, Model.SelectedAppointment?.SchedulerAppointmentOid);
|
||||
//return JsonConvert.SerializeObject(unavailableResources);
|
||||
|
||||
//var result = string.Empty;
|
||||
|
||||
//foreach(var kvp in info)
|
||||
//{
|
||||
// result += $"Die Ressource \"{kvp.Key}\" ist im ausgewählten Zeitraum {start} bis {end} bereits gebucht";
|
||||
// if(!kvp.Value.All(string.IsNullOrWhiteSpace))
|
||||
// {
|
||||
// result += ":<br /><br />";
|
||||
// }
|
||||
var oidList = ConvertOidStringToList(resourceOids);
|
||||
|
||||
// foreach(var interval in kvp.Value)
|
||||
// {
|
||||
// result += $"{interval}<br />";
|
||||
// }
|
||||
//}
|
||||
foreach(var oid in oidList)
|
||||
{
|
||||
if(!Model.ResourceCategories2Resources.Any(a => a.Value.All(b => b.ResourceOid != oid)))
|
||||
{
|
||||
return LeerzeichenFuerGetMethoden;
|
||||
}
|
||||
}
|
||||
|
||||
//return result;
|
||||
var dateTimes = ConvertStringDatesToDateTimes(start, end);
|
||||
|
||||
if(allDay)
|
||||
{
|
||||
dateTimes.EndDate = dateTimes.EndDate.AddDays(1);
|
||||
}
|
||||
|
||||
var recurrenceId = Model.SelectedAppointment.RecurrenceId;
|
||||
var recurrenceIndex = Model.SelectedAppointment.RecurrenceIndex;
|
||||
var info = KalenderService.CheckResourceAvailabilityWithEmployeeInformation(dateTimes.StartDate, dateTimes.EndDate, oidList, Model.SelectedAppointment?.SchedulerAppointmentOid, null);
|
||||
|
||||
var result = string.Empty;
|
||||
|
||||
foreach(var kvp in info)
|
||||
{
|
||||
result += $"Die Ressource \"{kvp.Key}\" ist im ausgewählten Zeitraum {start} bis {end} bereits gebucht";
|
||||
if(!kvp.Value.All(string.IsNullOrWhiteSpace))
|
||||
{
|
||||
result += ":<br /><br />";
|
||||
}
|
||||
|
||||
foreach(var interval in kvp.Value)
|
||||
{
|
||||
result += $"{interval}<br />";
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
|
||||
@@ -155,7 +155,28 @@ namespace BeWoPlanerMobil.Models
|
||||
public static bool HasRightMitarbeiterstundenkontoViewTeams => CheckRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams);
|
||||
public static bool HasRightMitarbeiterstundenkontoViewSelf => CheckRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf);
|
||||
|
||||
public static bool HasRightToViewReports => CheckRight(UserRightType.QueryView_View);
|
||||
public static bool HasRightToViewReports => CheckForAtLeastOneRight(new UserRightType[]
|
||||
{
|
||||
UserRightType.ViewAll,
|
||||
UserRightType.QueryView_View,
|
||||
UserRightType.Analysis_ServiceOverview_View,
|
||||
UserRightType.Analysis_Auslastung_View,
|
||||
UserRightType.Analysis_AuslastungAllEmployee_View,
|
||||
UserRightType.Analysis_AuslastungTeam_View,
|
||||
UserRightType.Kilometerauswertung_View,
|
||||
UserRightType.KilometerauswertungEigene_View,
|
||||
UserRightType.BewertungAuswertung_View,
|
||||
UserRightType.PivotTabelleAnsehen,
|
||||
UserRightType.DienstplanungAnsehen,
|
||||
UserRightType.AbwesenheitsPlanungAnsehen,
|
||||
UserRightType.Mitarbeiterstundenkonto_ViewAll,
|
||||
UserRightType.Mitarbeiterstundenkonto_ViewSelf,
|
||||
UserRightType.Mitarbeiterstundenkonto_ViewTeams,
|
||||
UserRightType.Jahresbericht,
|
||||
UserRightType.Auswertungen_BerichteAnsehen,
|
||||
UserRightType.Auswertungen_StundenuebersichtAnsehen,
|
||||
UserRightType.Auswertungen_HilfeplanuebersichtAnsehen
|
||||
});
|
||||
|
||||
public static bool HasRightToViewMitarbeiterstundenkonto
|
||||
{
|
||||
|
||||
@@ -729,6 +729,8 @@ namespace BeWoPlanerMobil.Models
|
||||
public MandatorDC Mandator { get; set; }
|
||||
|
||||
public bool IsPasswordSecurityEnabled { get; set; }
|
||||
|
||||
public bool ShowMarker { get; set; }
|
||||
}
|
||||
|
||||
public class CustomSelectListItem
|
||||
|
||||
@@ -85,7 +85,7 @@ namespace BeWoPlanerMobil.Models
|
||||
allResources.AddRangeIfElementsNotIn(cat2res.Value);
|
||||
}
|
||||
|
||||
return allResources;
|
||||
return allResources.OrderBy(resource => resource.Name).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -100,11 +100,11 @@ function submitGroupBookingForm() {
|
||||
}
|
||||
|
||||
function deactivateGroupBookingForm() {
|
||||
$("#employees-button, #category-select, #leistung-select, #start-date, #end-date, #start-time, #end-time, #duration, #distance, textarea, #reset-button, #create-button, #textbausteine-button, #hours-minutes-dropdown-btn").prop("disabled", true);
|
||||
$("#employees-button, #category-select, #leistung-select, #start-date, #end-date, #start-time, #end-time, #duration, #distance, textarea, #reset-button, #create-button, #textbausteine-button, #hours-minutes-dropdown-btn, #gb-marker-cb").prop("disabled", true);
|
||||
}
|
||||
|
||||
function activateGroupBookingForm() {
|
||||
$("#employees-button, #category-select, #leistung-select, #start-date, #end-date, #start-time, #end-time, #duration, #distance, textarea, #reset-button, #create-button, #textbausteine-button, #hours-minutes-dropdown-btn").prop("disabled", false);
|
||||
$("#employees-button, #category-select, #leistung-select, #start-date, #end-date, #start-time, #end-time, #duration, #distance, textarea, #reset-button, #create-button, #textbausteine-button, #hours-minutes-dropdown-btn, #gb-marker-cb").prop("disabled", false);
|
||||
}
|
||||
|
||||
function deleteServiceRecord(serviceRecordOid) {
|
||||
|
||||
@@ -121,57 +121,56 @@ function validateAppointmentForm() {
|
||||
$.get(getCheckResourcesAvailabilityUrl(), { start: startDate.format("DD.MM.YYYY HH:mm"), end: endDate.format("DD.MM.YYYY HH:mm"), resourceOids: oidString, allDay: isAllDay }).done(function(result) {
|
||||
if (result.length > 1) {
|
||||
try {
|
||||
// ToDo: Wieder einchecken! (24.07.2023)
|
||||
//hideSpinner();
|
||||
|
||||
//if (result.includes("Fehler!")) {
|
||||
// showErrorMessagePopup(result.substring(7));
|
||||
// return;
|
||||
//} else {
|
||||
// showMessagePopupWithHtml("Überschneidung",
|
||||
// result,
|
||||
// function() {
|
||||
// $("#messagePopup .modal-body").html();
|
||||
// showSpinner();
|
||||
// insertOrUpdateAppointment(startDate.format("DD.MM.YYYY"), endDate.format("DD.MM.YYYY"), startDate.format("HH:mm"), endDate.format("HH:mm"));
|
||||
// },
|
||||
// false);
|
||||
//}
|
||||
|
||||
|
||||
var unavailableResources = $.parseJSON(result);
|
||||
var resourceCount = 0;
|
||||
var names = "";
|
||||
|
||||
$.each(unavailableResources, function(index, resource) {
|
||||
if (names.length > 1) {
|
||||
names += ", ";
|
||||
}
|
||||
|
||||
resourceCount++;
|
||||
|
||||
names += resource.Name;
|
||||
});
|
||||
|
||||
var unavailableResourcesMessage;
|
||||
|
||||
if(resourceCount > 0) {
|
||||
if(resourceCount > 1) {
|
||||
unavailableResourcesMessage = "Einige der ausgewählten Ressourcen (" + names + ") sind zum gewählten Zeitpunkt nicht verfügbar.";
|
||||
} else {
|
||||
unavailableResourcesMessage = "Eine der ausgewählten Ressourcen (" + names + ") ist zum gewählten Zeitpunkt nicht verfügbar.";
|
||||
}
|
||||
|
||||
hideSpinner();
|
||||
|
||||
showWarningMessageBox("Überschneidung", unavailableResourcesMessage, function() {
|
||||
$("#messagePopup .modal-body").html();
|
||||
showSpinner();
|
||||
insertOrUpdateAppointment(startDate.format("DD.MM.YYYY"), endDate.format("DD.MM.YYYY"), startDate.format("HH:mm"), endDate.format("HH:mm"));
|
||||
}, false);
|
||||
hideSpinner();
|
||||
|
||||
if (result.includes("Fehler!")) {
|
||||
showErrorMessagePopup(result.substring(7));
|
||||
return;
|
||||
} else {
|
||||
showMessagePopupWithHtml("Überschneidung",
|
||||
result,
|
||||
function() {
|
||||
$("#messagePopup .modal-body").html();
|
||||
showSpinner();
|
||||
insertOrUpdateAppointment(startDate.format("DD.MM.YYYY"), endDate.format("DD.MM.YYYY"), startDate.format("HH:mm"), endDate.format("HH:mm"));
|
||||
},
|
||||
false);
|
||||
}
|
||||
|
||||
// ALT!
|
||||
//var unavailableResources = $.parseJSON(result);
|
||||
//var resourceCount = 0;
|
||||
//var names = "";
|
||||
|
||||
//$.each(unavailableResources, function(index, resource) {
|
||||
// if (names.length > 1) {
|
||||
// names += ", ";
|
||||
// }
|
||||
|
||||
// resourceCount++;
|
||||
|
||||
// names += resource.Name;
|
||||
//});
|
||||
|
||||
//var unavailableResourcesMessage;
|
||||
|
||||
//if(resourceCount > 0) {
|
||||
// if(resourceCount > 1) {
|
||||
// unavailableResourcesMessage = "Einige der ausgewählten Ressourcen (" + names + ") sind zum gewählten Zeitpunkt nicht verfügbar.";
|
||||
// } else {
|
||||
// unavailableResourcesMessage = "Eine der ausgewählten Ressourcen (" + names + ") ist zum gewählten Zeitpunkt nicht verfügbar.";
|
||||
// }
|
||||
|
||||
// hideSpinner();
|
||||
|
||||
// showWarningMessageBox("Überschneidung", unavailableResourcesMessage, function() {
|
||||
// $("#messagePopup .modal-body").html();
|
||||
// showSpinner();
|
||||
// insertOrUpdateAppointment(startDate.format("DD.MM.YYYY"), endDate.format("DD.MM.YYYY"), startDate.format("HH:mm"), endDate.format("HH:mm"));
|
||||
// }, false);
|
||||
|
||||
// return;
|
||||
//}
|
||||
} catch (error) {
|
||||
showErrorPopup(error);
|
||||
return;
|
||||
|
||||
@@ -24,10 +24,9 @@
|
||||
public static string RecordsKey => "Records";
|
||||
public static string ServiceRecordOidHolder2Key => "service-record-oid-holder";
|
||||
public static string IsInGroupBookingModeKey => "IsInGroupBookingMode";
|
||||
|
||||
public static string IsInMultiBookingModeKey => "IsInMultiBookingMode";
|
||||
|
||||
public static string DurationInMinutesKey => "DurationInMinutes";
|
||||
public static string MarkerKey => "marker-cb";
|
||||
|
||||
// Kalender
|
||||
public static string AppointmentStartDateKey => "StartDate";
|
||||
|
||||
@@ -146,6 +146,25 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Marker -->
|
||||
@if(Model.ShowMarker)
|
||||
{
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="custom-control custom-checkbox custom-control-inline">
|
||||
<input type="checkbox" class="custom-control-input" name="marker-cb" id="gb-marker-cb" />
|
||||
<label class="custom-control-label" for="gb-marker-cb">Marker</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<hr/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Start- und Enddatum -->
|
||||
<div class="form-row">
|
||||
|
||||
@@ -235,14 +235,14 @@
|
||||
$("#employeesDropDown, #category-select, #leistung-select, " +
|
||||
"#start-date, #end-date, #start-time, #end-time, #duration, " +
|
||||
"#distance, #textbausteine-button, #goals-button, textarea, #reset-button, " +
|
||||
"#create-button, #statistics-button, #timeFrameSelect, #hours-minutes-dropdown-btn").prop("disabled", (isSupportConceptSelected ? false : true));
|
||||
"#create-button, #statistics-button, #timeFrameSelect, #hours-minutes-dropdown-btn, #marker-cb").prop("disabled", (isSupportConceptSelected ? false : true));
|
||||
|
||||
if("@Model.IsInGroupBookingMode".toLowerCase() === "true") {
|
||||
var hasSelectedSupportConcepts = "@Model.SelectedConceptCostBearerRelations.Any()".toLowerCase() === "true";
|
||||
|
||||
$("#employees-button, #category-select, #leistung-select, " +
|
||||
"#start-date, #end-date, #start-time, #end-time, #duration, " +
|
||||
"#distance, textarea, #reset-button, #create-button, #textbausteine-button, #hours-minutes-dropdown-btn").prop("disabled", (hasSelectedSupportConcepts ? false : true));
|
||||
"#distance, textarea, #reset-button, #create-button, #textbausteine-button, #hours-minutes-dropdown-btn, #gb-marker-cb").prop("disabled", (hasSelectedSupportConcepts ? false : true));
|
||||
}
|
||||
|
||||
$("#fehlerdetail-textarea").prop("disabled", false);
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
|
||||
function deactivateMultiBookingForm() {
|
||||
try {
|
||||
$("#multi-booking-employees-button, #mb-category-select, #mb-leistung-select, #mb-start-date, #mb-end-date, #mb-start-time, #mb-end-time, #mb-duration, #mb-distance, textarea, #mb-reset-button, #mb-create-button, #mb-textbausteine-button, #mb-hours-minutes-dropdown-btn").prop("disabled", true);
|
||||
$("#multi-booking-employees-button, #mb-category-select, #mb-leistung-select, #mb-start-date, #mb-end-date, #mb-start-time, #mb-end-time, #mb-duration, #mb-distance, textarea, #mb-reset-button, #mb-create-button, #mb-textbausteine-button, #mb-hours-minutes-dropdown-btn, #mb-marker-cb").prop("disabled", true);
|
||||
} catch (error) {
|
||||
showErrorPopup(error);
|
||||
}
|
||||
@@ -212,7 +212,7 @@
|
||||
|
||||
function activateMultiBookingForm() {
|
||||
try {
|
||||
$("#multi-booking-employees-button, #mb-category-select, #mb-leistung-select, #mb-start-date, #mb-end-date, #mb-start-time, #mb-end-time, #mb-duration, #mb-distance, textarea, #mb-reset-button, #mb-create-button, #mb-textbausteine-button, #mb-hours-minutes-dropdown-btn").prop("disabled", false);
|
||||
$("#multi-booking-employees-button, #mb-category-select, #mb-leistung-select, #mb-start-date, #mb-end-date, #mb-start-time, #mb-end-time, #mb-duration, #mb-distance, textarea, #mb-reset-button, #mb-create-button, #mb-textbausteine-button, #mb-hours-minutes-dropdown-btn, #mb-marker-cb").prop("disabled", false);
|
||||
} catch (error) {
|
||||
showErrorPopup(error);
|
||||
}
|
||||
@@ -339,6 +339,25 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Marker -->
|
||||
@if(Model.ShowMarker)
|
||||
{
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="custom-control custom-checkbox custom-control-inline">
|
||||
<input type="checkbox" class="custom-control-input" name="marker-cb" id="mb-marker-cb" />
|
||||
<label class="custom-control-label" for="mb-marker-cb">Marker</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<hr/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Start- und Enddatum -->
|
||||
<div class="form-row">
|
||||
|
||||
@@ -133,81 +133,121 @@
|
||||
|
||||
using(Html.BeginForm("CreateOrUpdateServiceRecord", "Main", FormMethod.Post, new { onreset = "serviceDescriptionSelectOnReset('category-select', 'leistung-select', 'textmodule-container', 'tree')", id = "singleBookingForm" }))
|
||||
{
|
||||
<div class="mt-3">
|
||||
<!-- Einzelbuchung: Mitarbeiter -->
|
||||
<div class="mt-3">
|
||||
<!-- Einzelbuchung: Mitarbeiter -->
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">Mitarbeiter</div>
|
||||
</div>
|
||||
@Html.DropDownListFor(m => m.SelectedEmployeeOid, Model.EmployeeListItems, new { id = "employeesDropDown", @class = "custom-select", onchange = "setSelectedEmployee()" })
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@if(Model.SelectedSupportConcept != null && Model.SelectedSupportConcept.Goals.Any())
|
||||
{
|
||||
<!-- Einzelbuchung: Ziele -->
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">Mitarbeiter</div>
|
||||
<button type="button" class="btn btn-primary form-control my-3" data-toggle="modal" data-target="#goal-popup" id="goals-button">Ziele</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="collapse w-100 mt-1 max-vw-50" id="goals-container"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
<!-- Einzelbuchung: Leistungskategorie -->
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Kategorie
|
||||
</div>
|
||||
</div>
|
||||
@Html.DropDownListFor(m => m.SelectedServiceCategoryOid, Model.ServiceCategoryListItems, new { onchange = "loadServiceDescriptions('category-select', 'leistung-select', 'textmodule-container', 'tree')", @class = "custom-select", Id = "category-select" })
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Einzelbuchung: Leistung -->
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Leistung
|
||||
</div>
|
||||
</div>
|
||||
<select class="custom-select" id="leistung-select" name="ServiceDescription" onchange="setServiceDescription('leistung-select')">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Marker -->
|
||||
@if(Model.ShowMarker)
|
||||
{
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="custom-control custom-checkbox custom-control-inline">
|
||||
<input type="checkbox" class="custom-control-input" name="marker-cb" id="marker-cb" />
|
||||
<label class="custom-control-label" for="marker-cb">Marker</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<hr />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Einzelbuchung: Startdatum -->
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group date" id="start-date-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Startdatum
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" id="start-date" name="Datum" class="form-control datetimepicker-input" data-target="#start-date-picker" data-toggle="datetimepicker" value="@Model.StartDateToEdit" />
|
||||
<div class="input-group-append" data-target="#start-date-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
@Html.DropDownListFor(m => m.SelectedEmployeeOid, Model.EmployeeListItems, new { id = "employeesDropDown", @class = "custom-select", onchange = "setSelectedEmployee()" })
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@if(Model.SelectedSupportConcept != null && Model.SelectedSupportConcept.Goals.Any())
|
||||
<!-- Einzelbuchung: Enddatum -->
|
||||
@if(Model.IsEndDateVisible)
|
||||
{
|
||||
<!-- Einzelbuchung: Ziele -->
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<button type="button" class="btn btn-primary form-control my-3" data-toggle="modal" data-target="#goal-popup" id="goals-button">Ziele</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="collapse w-100 mt-1 max-vw-50" id="goals-container"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
<!-- Einzelbuchung: Leistungskategorie -->
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group date" id="end-date-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Kategorie
|
||||
Enddatum
|
||||
</div>
|
||||
</div>
|
||||
@Html.DropDownListFor(m => m.SelectedServiceCategoryOid, Model.ServiceCategoryListItems, new { onchange = "loadServiceDescriptions('category-select', 'leistung-select', 'textmodule-container', 'tree')", @class = "custom-select", Id = "category-select" })
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Einzelbuchung: Leistung -->
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Leistung
|
||||
</div>
|
||||
</div>
|
||||
<select class="custom-select" id="leistung-select" name="ServiceDescription" onchange="setServiceDescription('leistung-select')">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Einzelbuchung: Startdatum -->
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group date" id="start-date-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Startdatum
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" id="start-date" name="Datum" class="form-control datetimepicker-input" data-target="#start-date-picker" data-toggle="datetimepicker" value="@Model.StartDateToEdit" />
|
||||
<div class="input-group-append" data-target="#start-date-picker" data-toggle="datetimepicker">
|
||||
<input type="text" id="end-date" name="Enddatum" class="form-control datetimepicker-input" data-target="#end-date-picker" data-toggle="datetimepicker" value="@Model.EndDateToEdit" />
|
||||
<div class="input-group-append" data-target="#end-date-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
@@ -215,182 +255,162 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Einzelbuchung: Enddatum -->
|
||||
@if(Model.IsEndDateVisible)
|
||||
{
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group date" id="end-date-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
Enddatum
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" id="end-date" name="Enddatum" class="form-control datetimepicker-input" data-target="#end-date-picker" data-toggle="datetimepicker" value="@Model.EndDateToEdit" />
|
||||
<div class="input-group-append" data-target="#end-date-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<!-- Einzelbuchung: Von -->
|
||||
<div class="form-row">
|
||||
@{
|
||||
var startTimeValue = Model.StartTimeToEdit;
|
||||
var endTimeValue = Model.EndTimeToEdit;
|
||||
var divisor = Model.SelectedDurationUnit == "Stunden" ? 60 : 1;
|
||||
var durationValue = Model.DurationToEdit;
|
||||
}
|
||||
</div>
|
||||
<!-- Einzelbuchung: Von -->
|
||||
<div class="form-row">
|
||||
@{
|
||||
var startTimeValue = Model.StartTimeToEdit;
|
||||
var endTimeValue = Model.EndTimeToEdit;
|
||||
var divisor = Model.SelectedDurationUnit == "Stunden" ? 60 : 1;
|
||||
var durationValue = Model.DurationToEdit;
|
||||
|
||||
if(Model.SetStartTimeToEndTimeAfterSave && !Model.IsInEditingMode)
|
||||
if(Model.SetStartTimeToEndTimeAfterSave && !Model.IsInEditingMode)
|
||||
{
|
||||
startTimeValue = Model.NewStartTime;
|
||||
endTimeValue = Model.NewEndTime;
|
||||
durationValue = Model.NewDuration?.ToString();
|
||||
if(Model.NewDuration.HasValue)
|
||||
{
|
||||
startTimeValue = Model.NewStartTime;
|
||||
endTimeValue = Model.NewEndTime;
|
||||
durationValue = Model.NewDuration?.ToString();
|
||||
if(Model.NewDuration.HasValue)
|
||||
{
|
||||
durationValue = (Model.NewDuration / divisor).ToString();
|
||||
}
|
||||
durationValue = (Model.NewDuration / divisor).ToString();
|
||||
}
|
||||
}
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group date" id="start-time-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text sm-prepend-input-group-text px-2">
|
||||
Von
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" id="start-time" name="Start" class="form-control datetimepicker-input" data-target="#start-time-picker" value="@startTimeValue" />
|
||||
<div class="input-group-append" data-target="#start-time-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-clock"></i>
|
||||
</div>
|
||||
}
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group date" id="start-time-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text sm-prepend-input-group-text px-2">
|
||||
Von
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Einzelbuchung: Bis -->
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group date" id="end-time-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text sm-prepend-input-group-text px-2">
|
||||
Bis
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" id="end-time" name="Ende" class="form-control datetimepicker-input" data-target="#end-time-picker" value="@endTimeValue" />
|
||||
<div class="input-group-append" data-target="#end-time-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-clock"></i>
|
||||
</div>
|
||||
<input type="text" id="start-time" name="Start" class="form-control datetimepicker-input" data-target="#start-time-picker" value="@startTimeValue" />
|
||||
<div class="input-group-append" data-target="#start-time-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-clock"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Einzelbuchung: Dauer -->
|
||||
<!-- Einzelbuchung: Bis -->
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group date" id="end-time-picker" data-target-input="nearest">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text sm-prepend-input-group-text px-2">
|
||||
Bis
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" id="end-time" name="Ende" class="form-control datetimepicker-input" data-target="#end-time-picker" value="@endTimeValue" />
|
||||
<div class="input-group-append" data-target="#end-time-picker" data-toggle="datetimepicker">
|
||||
<div class="input-group-text px-2">
|
||||
<i class="fas fa-clock"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Einzelbuchung: Dauer -->
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
@{
|
||||
var labelText = Model.EinheitZeiterfassung == 1 ? "Dauer (h)" : "Dauer";
|
||||
}
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
@labelText
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" class="form-control" id="duration" name="Dauer" onchange="onDurationChange('start-time', 'end-time', 'start-date', 'end-date', 'duration', 'hours-minutes-dropdown-btn', 'start-date-picker', 'end-date-picker')" value="@durationValue">
|
||||
@if(Model.IsZeiterfassungInStdMin)
|
||||
{
|
||||
<div class="input-group-append">
|
||||
<button id="hours-minutes-dropdown-btn" class="btn btn-outline-primary dropdown-toggle w-100" type="button" data-toggle="dropdown">
|
||||
@Model.SelectedDurationUnit
|
||||
</button>
|
||||
<div class="dropdown-menu w-100">
|
||||
<a class="dropdown-item hours-minutes-link" href="#">Minuten</a>
|
||||
<a class="dropdown-item hours-minutes-link" href="#">Stunden</a>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Einzelbuchung: Distanz -->
|
||||
@if(Model.ShowDistanceField)
|
||||
{
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
@{
|
||||
var labelText = Model.EinheitZeiterfassung == 1 ? "Dauer (h)" : "Dauer";
|
||||
}
|
||||
<div class="input-group-text prepend-input-group-text">
|
||||
@labelText
|
||||
<div class="input-group-text">
|
||||
Gefahrene Kilometer
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" class="form-control" id="duration" name="Dauer" onchange="onDurationChange('start-time', 'end-time', 'start-date', 'end-date', 'duration', 'hours-minutes-dropdown-btn', 'start-date-picker', 'end-date-picker')" value="@durationValue">
|
||||
@if(Model.IsZeiterfassungInStdMin)
|
||||
{
|
||||
<div class="input-group-append">
|
||||
<button id="hours-minutes-dropdown-btn" class="btn btn-outline-primary dropdown-toggle w-100" type="button" data-toggle="dropdown">
|
||||
@Model.SelectedDurationUnit
|
||||
</button>
|
||||
<div class="dropdown-menu w-100">
|
||||
<a class="dropdown-item hours-minutes-link" href="#">Minuten</a>
|
||||
<a class="dropdown-item hours-minutes-link" href="#">Stunden</a>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<input class="form-control" id="distance" name="Distanz" onchange="validateDistanceInput()" value="@Model.DistanceToEdit">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Einzelbuchung: Distanz -->
|
||||
@if(Model.ShowDistanceField)
|
||||
{
|
||||
<div class="form-row">
|
||||
<div class="col-md">
|
||||
<div class="form-group my-2">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">
|
||||
Gefahrene Kilometer
|
||||
</div>
|
||||
</div>
|
||||
<input class="form-control" id="distance" name="Distanz" onchange="validateDistanceInput()" value="@Model.DistanceToEdit">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(AbstractModel.HasRightToSeeTextModules)
|
||||
{
|
||||
<script>
|
||||
}
|
||||
@if(AbstractModel.HasRightToSeeTextModules)
|
||||
{
|
||||
<script>
|
||||
function textModuleButtonOnClick() {
|
||||
$('#tree').load('@Url.Action("LoadUpToDateTextModules")');
|
||||
}
|
||||
</script>
|
||||
<!-- Einzelbuchung: Textbausteine -->
|
||||
<div class="form-row" id="textmodule-container">
|
||||
<div class="col-md">
|
||||
<button type="button" class="btn btn-primary form-control mt-3" data-toggle="modal" data-target="#textbausteine-popup" id="textbausteine-button" onclick="textModuleButtonOnClick()">Textbausteine</button>
|
||||
</script>
|
||||
<!-- Einzelbuchung: Textbausteine -->
|
||||
<div class="form-row" id="textmodule-container">
|
||||
<div class="col-md">
|
||||
<button type="button" class="btn btn-primary form-control mt-3" data-toggle="modal" data-target="#textbausteine-popup" id="textbausteine-button" onclick="textModuleButtonOnClick()">Textbausteine</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="form-row">
|
||||
<div class="col-md mt-3">
|
||||
@if(Model.NumberOfDokuTypes == 0)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label for="dokufeld">Dokumentation</label>
|
||||
<textarea class="form-control" name="Dokumentation6" id="dokufeld">@Model.NoticeToEdit</textarea>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="form-row">
|
||||
<div class="col-md mt-3">
|
||||
@if(Model.NumberOfDokuTypes == 0)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label for="dokufeld">Dokumentation</label>
|
||||
<textarea class="form-control" name="Dokumentation6" id="dokufeld">@Model.NoticeToEdit</textarea>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<ul class="nav nav-tabs" role="tab-list">
|
||||
@for(var i = 0; i < Model.Dokutypes.Length; i++)
|
||||
{
|
||||
var currentDokuType = Model.Dokutypes[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
<ul class="nav nav-tabs" role="tab-list">
|
||||
@for(var i = 0; i < Model.Dokutypes.Length; i++)
|
||||
{
|
||||
var currentDokuType = Model.Dokutypes[i];
|
||||
|
||||
<li class="nav-item">
|
||||
<a href="#doku_@i" id="doku_@i-tab" data-toggle="tab" role="tab" aria-controls="doku_@i" class="nav-link@(i == 0 ? " active" : string.Empty)" aria-selected="true">
|
||||
@currentDokuType.DisplayName
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
<div class="tab-content" id="dokufelderTab">
|
||||
@for(var i = 0; i < Model.Dokutypes.Length; i++)
|
||||
{
|
||||
var textareaName = i + 1 < 1 ? "Dokumentation" : "Dokumentation" + (i + 1);
|
||||
<li class="nav-item">
|
||||
<a href="#doku_@i" id="doku_@i-tab" data-toggle="tab" role="tab" aria-controls="doku_@i" class="nav-link@(i == 0 ? " active" : string.Empty)" aria-selected="true">
|
||||
@currentDokuType.DisplayName
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
<div class="tab-content" id="dokufelderTab">
|
||||
@for(var i = 0; i < Model.Dokutypes.Length; i++)
|
||||
{
|
||||
var textareaName = i + 1 < 1 ? "Dokumentation" : "Dokumentation" + (i + 1);
|
||||
|
||||
<div class="tab-pane show@(i == 0 ? " active" : string.Empty)" id="doku_@i" role="tabpanel" aria-labelledby="doku_@i-tab">
|
||||
<textarea class="form-control doku-form-control" id="doku-textarea-@i" name="@textareaName">@Model.NoticeListToEdit[i]</textarea>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane show@(i == 0 ? " active" : string.Empty)" id="doku_@i" role="tabpanel" aria-labelledby="doku_@i-tab">
|
||||
<textarea class="form-control doku-form-control" id="doku-textarea-@i" name="@textareaName">@Model.NoticeListToEdit[i]</textarea>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="d-flex bd-highlight mt-3">
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
@if(Model.HasResourcesEmployeesOrCustomers)
|
||||
{
|
||||
<div class="form-row">
|
||||
@if(AbstractModel.HasRightToViewEmployeeAppointments)
|
||||
@if(AbstractModel.HasRightToViewEmployeeAppointments && AbstractModel.HasRightToInsertEmployeeAppointments)
|
||||
{
|
||||
<div class="col-md">
|
||||
<div class="form-group my-1">
|
||||
@@ -121,7 +121,7 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(AbstractModel.HasRightToViewCustomerSelectionInScheduler)
|
||||
@if(AbstractModel.HasRightToViewCustomerSelectionInScheduler && AbstractModel.HasRightToInsertCustomerAppointments)
|
||||
{
|
||||
<div class="col-md">
|
||||
<div class="form-group my-1">
|
||||
@@ -129,7 +129,7 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(AbstractModel.HasRightToViewAllResourceAppointments && Model.ResourceCategories2Resources.Any())
|
||||
@if(AbstractModel.HasRightToViewAllResourceAppointments && AbstractModel.HasRightToInsertRessourceAppointments && Model.ResourceCategories2Resources.Any())
|
||||
{
|
||||
<div class="col-md">
|
||||
<div class="form-group my-1">
|
||||
@@ -140,7 +140,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
@if(AbstractModel.HasRightToViewEmployeeAppointments)
|
||||
@if(AbstractModel.HasRightToViewEmployeeAppointments && AbstractModel.HasRightToInsertEmployeeAppointments)
|
||||
{
|
||||
<div class="col-12">
|
||||
<div class="form-group my-1">
|
||||
@@ -169,7 +169,7 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(AbstractModel.HasRightToViewCustomerSelectionInScheduler)
|
||||
@if(AbstractModel.HasRightToViewCustomerSelectionInScheduler && AbstractModel.HasRightToInsertCustomerAppointments)
|
||||
{
|
||||
<div class="col-12">
|
||||
<div class="form-group my-1">
|
||||
@@ -207,7 +207,7 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(AbstractModel.HasRightToViewAllResourceAppointments)
|
||||
@if(AbstractModel.HasRightToViewAllResourceAppointments && AbstractModel.HasRightToInsertRessourceAppointments)
|
||||
{
|
||||
<div class="col-12">
|
||||
<div class="form-group my-1">
|
||||
@@ -293,7 +293,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(AbstractModel.HasRightToViewAllResourceAppointments && Model.ResourceCategories2Resources.Any())
|
||||
@if(AbstractModel.HasRightToViewAllResourceAppointments && AbstractModel.HasRightToInsertRessourceAppointments && Model.ResourceCategories2Resources.Any())
|
||||
{
|
||||
<div class="modal" tabindex="-1" role="dialog" id="resources-popup">
|
||||
<div class="modal-dialog modal-dialog-scrollable" role="document">
|
||||
@@ -363,7 +363,7 @@
|
||||
</div>
|
||||
}
|
||||
|
||||
@if(AbstractModel.HasRightToViewEmployeeAppointments && Model.AllEmployees.Any())
|
||||
@if(AbstractModel.HasRightToViewEmployeeAppointments && AbstractModel.HasRightToInsertEmployeeAppointments && Model.AllEmployees.Any())
|
||||
{
|
||||
<script type="text/javascript">
|
||||
function resetEmployeeSearch() {
|
||||
@@ -583,7 +583,7 @@
|
||||
</div>
|
||||
}
|
||||
|
||||
@if(AbstractModel.HasRightToViewCustomerSelectionInScheduler && Model.AllCustomers.Any())
|
||||
@if(AbstractModel.HasRightToViewCustomerSelectionInScheduler && AbstractModel.HasRightToInsertCustomerAppointments && Model.AllCustomers.Any())
|
||||
{
|
||||
<div class="modal" tabindex="-1" role="dialog" id="customers-popup">
|
||||
<div class="modal-dialog modal-dialog-scrollable" role="document">
|
||||
|
||||
@@ -358,6 +358,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@if(AbstractModel.HasRightToViewQuittierungsbelege)
|
||||
{
|
||||
using(Html.BeginForm("RedirectToReportView", "Main", FormMethod.Post))
|
||||
@@ -373,6 +374,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@*ToDo: Wie im FaC machen!*@
|
||||
@if(AbstractModel.HasRightToViewReports && AbstractModel.HasRightToViewMitarbeiterstundenkonto)
|
||||
{
|
||||
using(Html.BeginForm("RedirectToReportViewer", "Main", FormMethod.Post))
|
||||
|
||||
@@ -1359,22 +1359,22 @@ namespace BeWo.Data.Access
|
||||
|
||||
public bool OverlappingAppointmentsExist(DateTime start, DateTime end, IEnumerable<long> employees, IEnumerable<long> customers, IEnumerable<long> resources, long originator, long? appointmentOid, string recurrenceId = "", int occurrenceIndex = 0)
|
||||
{
|
||||
if(employees == null)
|
||||
if(employees is null)
|
||||
{
|
||||
employees = new List<long>();
|
||||
}
|
||||
|
||||
if(customers == null)
|
||||
if(customers is null)
|
||||
{
|
||||
customers = new List<long>();
|
||||
}
|
||||
|
||||
if(resources == null)
|
||||
if(resources is null)
|
||||
{
|
||||
resources = new List<long>();
|
||||
}
|
||||
|
||||
var isRecurrenceException = appointmentOid == null;
|
||||
var isRecurrenceException = appointmentOid is null;
|
||||
var isBeingUpdatedToNormalAppointment = false;
|
||||
Guid? recurrenceIdToIgnore = null;
|
||||
|
||||
@@ -1414,7 +1414,7 @@ namespace BeWo.Data.Access
|
||||
|
||||
var appointments = appTmp.Where(a =>
|
||||
{
|
||||
if(a.RecurrenceInfo == null)
|
||||
if(a.RecurrenceInfo is null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -1440,30 +1440,24 @@ namespace BeWo.Data.Access
|
||||
{
|
||||
var recId = root.GetRecurrenceId();
|
||||
|
||||
if(recId != null && recurrenceIdToIgnore != null)
|
||||
if(recId is null || recurrenceIdToIgnore is null)
|
||||
{
|
||||
if(recId.Equals(recurrenceIdToIgnore))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
return !recId.Equals(recurrenceIdToIgnore);
|
||||
}).ToList();
|
||||
|
||||
schedulerAppointments = schedulerAppointments.Where(root =>
|
||||
{
|
||||
var recId = root.GetRecurrenceId();
|
||||
|
||||
if(recId != null && recurrenceIdToIgnore != null)
|
||||
if(recId is null || recurrenceIdToIgnore is null)
|
||||
{
|
||||
if(recId.Equals(recurrenceIdToIgnore))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
return !recId.Equals(recurrenceIdToIgnore);
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
@@ -1477,7 +1471,7 @@ namespace BeWo.Data.Access
|
||||
// Das Muster für die Terminserie wird berechnet
|
||||
var pattern = StaticAppointmentFactory.CreateAppointment(AppointmentType.Pattern);
|
||||
|
||||
if(pattern == null)
|
||||
if(pattern is null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -1496,7 +1490,7 @@ namespace BeWo.Data.Access
|
||||
|
||||
foreach(var occurrence in occurrences.GetAppointments(interval))
|
||||
{
|
||||
if(appointment.EndDate == null || appointment.StartDate == null)
|
||||
if(appointment.EndDate is null || appointment.StartDate is null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -1576,21 +1570,21 @@ namespace BeWo.Data.Access
|
||||
|
||||
var recurringAppointment = new SchedulerAppointment
|
||||
{
|
||||
AllDay = occurrence.AllDay,
|
||||
CustomerList = appointment.CustomerList,
|
||||
Notice = appointment.Notice,
|
||||
EmployeeList = appointment.EmployeeList,
|
||||
EndDate = occurrence.Start.AddMinutes(duration),
|
||||
AllDay = occurrence.AllDay,
|
||||
CustomerList = appointment.CustomerList,
|
||||
Notice = appointment.Notice,
|
||||
EmployeeList = appointment.EmployeeList,
|
||||
EndDate = occurrence.Start.AddMinutes(duration),
|
||||
FormerBookingSequenceOid = appointment.FormerBookingSequenceOid,
|
||||
IsPrivate = appointment.IsPrivate,
|
||||
Location = appointment.Location,
|
||||
Originator = appointment.Originator,
|
||||
RecurrenceInfo = occurrence.RecurrenceInfo.ToXml(),
|
||||
ReminderInfo = appointment.ReminderInfo,
|
||||
ResourceList = appointment.ResourceList,
|
||||
StartDate = occurrence.Start,
|
||||
Subject = appointment.Subject ?? "",
|
||||
Type = appointment.Type
|
||||
IsPrivate = appointment.IsPrivate,
|
||||
Location = appointment.Location,
|
||||
Originator = appointment.Originator,
|
||||
RecurrenceInfo = occurrence.RecurrenceInfo.ToXml(),
|
||||
ReminderInfo = appointment.ReminderInfo,
|
||||
ResourceList = appointment.ResourceList,
|
||||
StartDate = occurrence.Start,
|
||||
Subject = appointment.Subject ?? "",
|
||||
Type = appointment.Type
|
||||
};
|
||||
|
||||
schedulerAppointments.AddIfNotIn(recurringAppointment);
|
||||
@@ -1608,7 +1602,7 @@ namespace BeWo.Data.Access
|
||||
}
|
||||
}
|
||||
|
||||
var oidList = new List<long>();
|
||||
var employeeOidList = new List<long>();
|
||||
|
||||
schedulerAppointments = schedulerAppointments.Where(appointment => appointment.Type != 4).ToList();
|
||||
|
||||
@@ -1622,10 +1616,10 @@ namespace BeWo.Data.Access
|
||||
}
|
||||
}
|
||||
|
||||
oidList.AddRange(appointment.EmployeeList.Select(rel => rel.ParticipationAnswer != ParticipationAnswer.Absage && rel.Employee.Oid != null ? rel.Employee.Oid.Value : 0));
|
||||
employeeOidList.AddRange(appointment.EmployeeList.Select(rel => rel.ParticipationAnswer != ParticipationAnswer.Absage && rel.Employee.Oid != null ? rel.Employee.Oid.Value : 0));
|
||||
}
|
||||
|
||||
var hasOverlappingEmployeeAppointments = oidList.Intersect(employees).Any();
|
||||
var hasOverlappingEmployeeAppointments = employeeOidList.Intersect(employees).Any();
|
||||
var hasOverlappingCustomerAppointments = schedulerAppointments.Any(app => { return ShouldDoAppointmentOverlappingCheck(app, recurrenceGuid) && app.CustomerList.Select(c => c.Oid ?? 0).Intersect(customers).Any(); });
|
||||
|
||||
var hasOverlappingResourceAppointments = schedulerAppointments.Any(app => { return ShouldDoAppointmentOverlappingCheck(app, recurrenceGuid) && app.ResourceList.Select(r => r.Oid ?? 0).Intersect(resources).Any(); });
|
||||
@@ -1644,23 +1638,22 @@ namespace BeWo.Data.Access
|
||||
|
||||
return hasOverlappingEmployeeAppointments || hasOverlappingCustomerAppointments || hasOverlappingResourceAppointments || hasOverlappingOriginatorAppointments;
|
||||
}
|
||||
|
||||
|
||||
private static bool ShouldDoAppointmentOverlappingCheck(SchedulerAppointment appointment, Guid? recurrenceId)
|
||||
{
|
||||
if(appointment.Oid.HasValue && recurrenceId.HasValue)
|
||||
if(!appointment.Oid.HasValue || !recurrenceId.HasValue)
|
||||
{
|
||||
var recId = appointment.GetRecurrenceIdAndIndex(out var recIndex);
|
||||
|
||||
if(appointment.RecurrenceInfo != null && recId != null)
|
||||
{
|
||||
if(recId.Equals(recurrenceId))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
var recId = appointment.GetRecurrenceIdAndIndex(out var recIndex);
|
||||
|
||||
if(appointment.RecurrenceInfo is null || recId is null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return !recId.Equals(recurrenceId);
|
||||
}
|
||||
|
||||
public IEnumerable<SchedulerAppointment> GetAllActiveAppointmentsForEmployeeInInterval(DateTime start, DateTime end, long pEmployeeOid)
|
||||
@@ -4216,32 +4209,28 @@ namespace BeWo.Data.Access
|
||||
{
|
||||
var isOverlapping = OverlappingAppointmentsExist(start, end, employees, customers, resources, originator, appointmentOid, recurrenceId?.ToString() ?? "", occurrenceIndex);
|
||||
|
||||
var unavailableResources = shouldSkipResourceAvailability ? new List<Resource>() : CheckAvailabilityOfResources(resources.ToList(), start, end, appointmentOid, recurrenceId, occurrenceIndex);
|
||||
// Die Ressourcen werden auf Verfügbarkeit im ausgewählten Zeitraum geprüft
|
||||
var info = shouldSkipResourceAvailability ? new Dictionary<string, List<string>>() : CheckResourceAvailabilityWithEmployeeInformation(start, end, resources, appointmentOid, recurrenceId, occurrenceIndex);
|
||||
|
||||
var stringBuilder = new StringBuilder();
|
||||
|
||||
if(unavailableResources.Any())
|
||||
foreach(var resourceName2Intervals in info)
|
||||
{
|
||||
var names = string.Empty;
|
||||
stringBuilder.AppendLine($"Die Ressource \"{resourceName2Intervals.Key}\" ist im ausgewählten Zeitraum {start:dd.MM.yyyy HH:mm} bis {end:dd.MM.yyyy HH:mm} bereits gebucht:");
|
||||
if(!resourceName2Intervals.Value.All(IsNullOrWhiteSpace))
|
||||
{
|
||||
stringBuilder.Append("\r\n\r\n");
|
||||
}
|
||||
|
||||
unavailableResources.DoForEach(resource => names += resource.Name + ", ");
|
||||
|
||||
names = names.TrimEnd(' ').TrimEnd(',');
|
||||
|
||||
var resourceCount = resources.Count();
|
||||
|
||||
var suffix = (resourceCount > 1 ? "n" : string.Empty);
|
||||
|
||||
var ressourceWarningMessage = resourceCount > 1 ? $"Ein{(resourceCount > 1 ? "ige" : "e")} der ausgewählten Ressourcen ({names}) sind" : $"{(resourceCount > 1 ? "Eine der" : "Die")} ausgewählte{suffix} Ressource{suffix} ({names}) ist";
|
||||
|
||||
ressourceWarningMessage += $" zum gewählten Zeitpunkt ({start.GetDateString(end)}) nicht verfügbar.";
|
||||
|
||||
stringBuilder.Append(ressourceWarningMessage);
|
||||
foreach(var interval in resourceName2Intervals.Value)
|
||||
{
|
||||
stringBuilder.AppendLine($"{interval}");
|
||||
}
|
||||
}
|
||||
|
||||
if(isOverlapping)
|
||||
{
|
||||
if(unavailableResources.Any())
|
||||
if(info.Any())
|
||||
{
|
||||
stringBuilder.Append("\n\n");
|
||||
}
|
||||
@@ -4249,7 +4238,7 @@ namespace BeWo.Data.Access
|
||||
stringBuilder.Append("Dieser Termin überschneidet sich mit einem anderen bereits existierenden Termin.");
|
||||
}
|
||||
|
||||
if(unavailableResources.Any() || isOverlapping)
|
||||
if(info.Any() || isOverlapping)
|
||||
{
|
||||
stringBuilder.Append("\n\nMöchten Sie trotzdem speichern?");
|
||||
}
|
||||
@@ -4259,7 +4248,7 @@ namespace BeWo.Data.Access
|
||||
|
||||
public virtual IList FindFileattachmentOids(string text)
|
||||
{
|
||||
var q = Session.CreateSQLQuery(Format("SELECT Oid, bewofolderoid, objectoid, objecttid, path FROM FileAttachment WHERE Path like '%{0}%'", text));
|
||||
var q = Session.CreateSQLQuery($"SELECT Oid, bewofolderoid, objectoid, objecttid, path FROM FileAttachment WHERE Path like '%{text}%'");
|
||||
|
||||
return q.List();
|
||||
}
|
||||
@@ -5183,8 +5172,6 @@ namespace BeWo.Data.Access
|
||||
return signature.Count == 1;
|
||||
}
|
||||
|
||||
// ToDo: FALSCHE METHODE! SUCHT NUR NACH SERIENTERMINEN, DIE SO NICHT IN DER DATENBANK SIND!
|
||||
// ToDo: SQL BEARBEITEN, DAMIT DIE SCHEDULERAPPOINTMENT-OBJEKTE ZURÜCKGEGEBEN WERDEN UND NICHT DIE GEBUCHTEN RESSOURCEN!
|
||||
/// <summary>
|
||||
/// Prüft anhand der Oids von Ressourcen deren Verfügbarkeit in einem Zeitraum.
|
||||
/// Gibt die nicht verfügbaren Ressourcen und Mitarbeiter, die sie gebucht aben zurück für eine detaillierte Fehlermeldung.
|
||||
@@ -5198,24 +5185,12 @@ namespace BeWo.Data.Access
|
||||
/// <returns>Die im angegebenen Zeitraum belegten Ressourcen mit den Mitarbeitern, die sie gebucht haben</returns>
|
||||
public List<SchedulerAppointment> FindAppointmentsByResourcesInInterval(List<long> resourceOids, DateTime start, DateTime end, long? selectedAppointmentOid, Guid? recurrenceId = null, int? occurrenceIndex = null)
|
||||
{
|
||||
//var c = CreateCriteria<Resource>("r").Add(Restrictions.Eq(nameof(BeWoEntityBase.IsActive), ActivationTypeId.Active)).Add(Restrictions.In(nameof(BeWoEntityBase.Oid), resourceOids));
|
||||
|
||||
//var excludingSelectedAppointment = selectedAppointmentOid.HasValue ? $"Oid <> {selectedAppointmentOid} AND " : "";
|
||||
|
||||
//var sql = "Oid IN " +
|
||||
// "(SELECT ResourceOid FROM resource2newschapp r2n WHERE r2n.NewSchAppOid IN " +
|
||||
// $"(SELECT Oid FROM newschedulerappointment WHERE IsActive = 1 AND Type <> 4 AND {excludingSelectedAppointment}('{start:yyyy-MM-dd HH:mm:ss}' > StartDate OR '{end:yyyy-MM-dd HH:mm:ss}' > StartDate) AND ('{start:yyyy-MM-dd HH:mm:ss}' < EndDate OR '{end:yyyy-MM-dd HH:mm:ss}' < EndDate)))";
|
||||
|
||||
//var criterion = Expression.Sql(sql);
|
||||
|
||||
//c.Add(criterion);
|
||||
|
||||
//var resources = c.List<Resource>().ToList();
|
||||
|
||||
var betweenCriterion = CreateBetweenDateTimesCriterion(start, end, "StartDate", "EndDate");
|
||||
|
||||
var c2 = CreateCriteriaIsActive<SchedulerAppointment>()
|
||||
.Add(Restrictions.Not(Restrictions.Eq(nameof(SchedulerAppointment.Type), 4)))
|
||||
.Add(Expression.Sql($"'{start:yyyy-MM-dd HH:mm:ss}' BETWEEN StartDate AND EndDate OR '{end:yyyy-MM-dd HH:mm:ss}' BETWEEN StartDate AND EndDate OR StartDate BETWEEN '{start:yyyy-MM-dd HH:mm:ss}' AND '{end:yyyy-MM-dd HH:mm:ss}' OR EndDate BETWEEN '{start:yyyy-MM-dd HH:mm:ss}' AND '{end:yyyy-MM-dd HH:mm:ss}'"));
|
||||
//.Add(Restrictions.Not(Restrictions.Eq(nameof(SchedulerAppointment.Type), 4)))
|
||||
.Add(betweenCriterion);
|
||||
|
||||
|
||||
if(!(selectedAppointmentOid is null))
|
||||
{
|
||||
@@ -5225,161 +5200,191 @@ namespace BeWo.Data.Access
|
||||
c2.CreateAlias(nameof(SchedulerAppointment.ResourceList), "resources", JoinType.InnerJoin)
|
||||
.Add(Restrictions.In($"resources.{nameof(BeWoEntityBase.Oid)}", resourceOids));
|
||||
|
||||
var appointments = c2.List<SchedulerAppointment>().ToList();
|
||||
|
||||
var tempAppointments = c2.List<SchedulerAppointment>().ToList();
|
||||
|
||||
var isBeingUpdatedToNormalAppointment = false;
|
||||
Guid? recurrenceIdToIgnore = null;
|
||||
if(selectedAppointmentOid.HasValue)
|
||||
{
|
||||
// Das Pattern wird geladen, bzw. mit der Ausnahme mit Index 0 verglichen
|
||||
// Wird die Serie in einen Einzeltermin geändert und es existiert eine Ausnahme mit Index 0, sollte die Ausnahme behalten werden und nicht der Root-Termin
|
||||
var original = DAOFactory.GenericDAO.LoadByID<SchedulerAppointment>(selectedAppointmentOid.Value);
|
||||
var originalRecurrenceId = original?.GetRecurrenceId();
|
||||
|
||||
if(!(originalRecurrenceId is null) && IsNullOrWhiteSpace(recurrenceId?.ToString()))
|
||||
{
|
||||
isBeingUpdatedToNormalAppointment = true;
|
||||
recurrenceIdToIgnore = originalRecurrenceId;
|
||||
}
|
||||
}
|
||||
|
||||
var appointments = tempAppointments.Where(appointment =>
|
||||
{
|
||||
if(appointment.RecurrenceInfo is null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
var recId2 = appointment.GetRecurrenceIdAndIndex(out var index);
|
||||
return !((recurrenceId?.Equals(recId2) ?? false) && occurrenceIndex == index);
|
||||
}).ToList();
|
||||
|
||||
|
||||
var deletedOccurrences = appointments.Where(app => app.Type == 4).Select(app => BS.Shared.Core.Utils.GetOccurrenceId(app.RecurrenceInfo)).ToList();
|
||||
var changedOccurrences = appointments.Where(app => app.Type == 3).Select(app => BS.Shared.Core.Utils.GetOccurrenceId(app.RecurrenceInfo)).ToList();
|
||||
|
||||
var recurringAppointmentsCriteria = CreateRecurrenceCriteria(start, end).Add(Restrictions.Eq(nameof(SchedulerAppointment.Type), 1));
|
||||
|
||||
var recurringAppointments = recurringAppointmentsCriteria.List<SchedulerAppointment>().ToList();
|
||||
|
||||
if(isBeingUpdatedToNormalAppointment)
|
||||
{
|
||||
recurringAppointments = recurringAppointments.Where(root => FilterRootAppointment(root, recurrenceIdToIgnore)).ToList();
|
||||
|
||||
appointments = appointments.Where(root => FilterRootAppointment(root, recurrenceIdToIgnore)).ToList();
|
||||
}
|
||||
|
||||
recurringAppointments = recurringAppointments.Where(s => s.ResourceList.Any(r => r.Oid.HasValue && resourceOids.Contains(r.Oid.Value))).ToList();
|
||||
|
||||
// ToDo: Wieso wird das gemacht?
|
||||
if(recurringAppointments.Count == 0)
|
||||
{
|
||||
//return new List<SchedulerAppointment>();
|
||||
}
|
||||
|
||||
var changedOccurrencesCriteria = CreateCriteriaIsActive<SchedulerAppointment>().Add(Restrictions.Eq(nameof(SchedulerAppointment.Type), 3));
|
||||
var deletedOccurrencesCriteria = CreateCriteria<SchedulerAppointment>().Add(Restrictions.Eq(nameof(SchedulerAppointment.Type), 4));
|
||||
|
||||
var inBetween = CreateBetweenDateTimesCriterion(start, end, nameof(SchedulerAppointment.StartDate), nameof(SchedulerAppointment.EndDate));
|
||||
|
||||
changedOccurrencesCriteria.Add(inBetween);
|
||||
deletedOccurrencesCriteria.Add(inBetween);
|
||||
|
||||
//var appointments = new List<SchedulerAppointment>();
|
||||
|
||||
if(selectedAppointmentOid.HasValue)
|
||||
{
|
||||
changedOccurrencesCriteria.Add(Restrictions.Not(Restrictions.Eq(nameof(BeWoEntityBase.Oid), selectedAppointmentOid.Value)));
|
||||
deletedOccurrencesCriteria.Add(Restrictions.Not(Restrictions.Eq(nameof(BeWoEntityBase.Oid), selectedAppointmentOid.Value)));
|
||||
}
|
||||
|
||||
var changedOccurrences = new List<SchedulerAppointment>();
|
||||
|
||||
var recurrenceIds = string.Empty;
|
||||
recurringAppointments.DoForEach(appointment => recurrenceIds += $"'{appointment.GetRecurrenceId()}',");
|
||||
recurrenceIds = recurrenceIds.Trim(',');
|
||||
|
||||
if(recurrenceIds.Any())
|
||||
{
|
||||
var changedCriteria = CreateCriteriaIsActive<SchedulerAppointment>()
|
||||
.Add(Restrictions.Eq(nameof(SchedulerAppointment.Type), 3))
|
||||
.Add(Expression.Sql($"RecurrenceInfo IS NOT NULL AND RecurrenceInfo LIKE '%Id%' AND SUBSTRING(RecurrenceInfo, LOCATE('Id', RecurrenceInfo) + 4, 36) IN ({recurrenceIds})"));
|
||||
|
||||
changedOccurrences = changedCriteria.List<SchedulerAppointment>().ToList();
|
||||
}
|
||||
|
||||
//var changedOccurrences = changedOccurrencesCriteria.List<SchedulerAppointment>().Where(a => a.ResourceList.Any(r => r.Oid.HasValue && resourceOids.Contains(r.Oid.Value))).ToList();
|
||||
var deletedOccurrences = deletedOccurrencesCriteria.List<SchedulerAppointment>().Where(a => a.ResourceList.Any(r => r.Oid.HasValue && resourceOids.Contains(r.Oid.Value))).ToList();
|
||||
|
||||
// Sich wiederholende Termine erzeugen und dabei die Ausnahmen und gelöschten Ausnahmen ignorieren
|
||||
var interval = new TimeInterval(start, end);
|
||||
foreach(var recurringAppointment in recurringAppointments)
|
||||
foreach(var appointment in recurringAppointments)
|
||||
{
|
||||
var recurrenceInfo = new RecurrenceInfo();
|
||||
recurrenceInfo.FromXml(recurringAppointment.RecurrenceInfo);
|
||||
recurrenceInfo.FromXml(appointment.RecurrenceInfo);
|
||||
|
||||
var occurenceCalculator = OccurrenceCalculator.CreateInstance(recurrenceInfo);
|
||||
var occurrenceCalculator = OccurrenceCalculator.CreateInstance(recurrenceInfo);
|
||||
|
||||
// Das Muster für die Terminserie wird berechnet
|
||||
var pattern = StaticAppointmentFactory.CreateAppointment(AppointmentType.Pattern);
|
||||
pattern.RecurrenceInfo.FromXml(recurringAppointment.RecurrenceInfo);
|
||||
pattern.Start = pattern.RecurrenceInfo.Start;
|
||||
pattern.End = pattern.RecurrenceInfo.End;
|
||||
|
||||
if(!Guid.TryParse(pattern.RecurrenceInfo.Id.ToString(), out var patternId))
|
||||
if(pattern is null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Die Serientermine werden berechnet (ausnahmslos, d.h. es werden auch bearbeitete und gelöschte Termine erstellt, die herausgefiltert werden müssen).
|
||||
var occurrences = occurenceCalculator.CalcOccurrences(interval, pattern);
|
||||
pattern.RecurrenceInfo.FromXml(appointment.RecurrenceInfo);
|
||||
pattern.Start = pattern.RecurrenceInfo.Start;
|
||||
pattern.End = appointment.EndDate.Value;
|
||||
|
||||
var occurrenceAppointments = occurrences.GetAppointments(interval);
|
||||
var patternId = pattern.RecurrenceInfo.Id.ToString();
|
||||
|
||||
foreach(var occurrence in occurrenceAppointments)
|
||||
var interval = new TimeInterval(start, end);
|
||||
|
||||
var occurrences = occurrenceCalculator.CalcOccurrences(interval, pattern);
|
||||
|
||||
foreach(var occurrence in occurrences.GetAppointments(interval))
|
||||
{
|
||||
if(recurringAppointment.EndDate is null || recurringAppointment.StartDate is null)
|
||||
if(appointment.EndDate is null || appointment.StartDate is null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Sicher machen
|
||||
// Terminindex in der Serie
|
||||
var index = occurrence.RecurrenceIndex;
|
||||
|
||||
var isDeletedOrChanged = changedOccurrences.Any(a =>
|
||||
{
|
||||
var guid = a.GetRecurrenceIdAndIndex(out var i);
|
||||
// Das Ende ist offen, da die Terminserie kein Ende hat. Deshalb wird das Ende berechnet.
|
||||
var duration = (appointment.EndDate.Value - appointment.StartDate.Value).TotalMinutes;
|
||||
|
||||
if(guid is null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var guidParsingSuccessful = Guid.TryParse(occurrence.RecurrenceInfo?.Id?.ToString(), out var occurrenceGuid);
|
||||
|
||||
return guid.Value.Equals(patternId) && index == i;
|
||||
}) || deletedOccurrences.Any(a =>
|
||||
{
|
||||
var guid = a.GetRecurrenceIdAndIndex(out var i);
|
||||
|
||||
if(guid is null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return guid.Value.Equals(patternId) && index == i;
|
||||
});
|
||||
|
||||
if(isDeletedOrChanged)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var duration = (recurringAppointment.EndDate.Value - recurringAppointment.StartDate.Value).TotalMinutes;
|
||||
// Der generierte Serientermin muss sich zeitlich mit dem neuen Termin überschneiden
|
||||
// und darf nicht in der Liste der geänderten Serientermine oder der Liste der gelöschten Serientermine sein.
|
||||
var isInIntervalTest = start.IsInInterval(end, occurrence.Start, occurrence.Start.AddMinutes(duration));
|
||||
|
||||
if(!isInIntervalTest)
|
||||
if(!isInIntervalTest ||
|
||||
changedOccurrences.Any(changedOccurence => changedOccurence.PatternId.Equals(patternId) && changedOccurence.Index == index) ||
|
||||
deletedOccurrences.Any(deletedOccurence => deletedOccurence.PatternId.Equals(patternId) && deletedOccurence.Index == index) ||
|
||||
index == occurrenceIndex && guidParsingSuccessful && recurrenceId != null && recurrenceId.Equals(occurrenceGuid))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var occurrenceAppointment = new SchedulerAppointment
|
||||
// Prüfen, ob es eine Ausnahme an dem Tag gibt, die zu dem Pattern gehört, um das Pattern auszuschließen
|
||||
var relatedAppointments = FindAppointmentsByRecurrenceId(new List<string> { recurrenceInfo.Id.ToString() }, true);
|
||||
var relatedAppointmentsInInterval = relatedAppointments.Where(a =>
|
||||
{
|
||||
AllDay = occurrence.AllDay,
|
||||
CustomerList = recurringAppointment.CustomerList,
|
||||
Notice = recurringAppointment.Notice,
|
||||
EmployeeList = recurringAppointment.EmployeeList,
|
||||
EndDate = occurrence.Start.AddMinutes(duration),
|
||||
FormerBookingSequenceOid = recurringAppointment.FormerBookingSequenceOid,
|
||||
IsPrivate = recurringAppointment.IsPrivate,
|
||||
Location = recurringAppointment.Location,
|
||||
Originator = recurringAppointment.Originator,
|
||||
RecurrenceInfo = occurrence.RecurrenceInfo.ToXml(),
|
||||
ReminderInfo = recurringAppointment.ReminderInfo,
|
||||
ResourceList = recurringAppointment.ResourceList,
|
||||
StartDate = occurrence.Start,
|
||||
Subject = recurringAppointment.Subject ?? Empty,
|
||||
Type = recurringAppointment.Type
|
||||
};
|
||||
|
||||
if(!(recurrenceId is null) && occurrenceIndex.HasValue)
|
||||
{
|
||||
var recId = occurrenceAppointment.GetRecurrenceId();
|
||||
|
||||
if((recId?.Equals(recurrenceId.Value) ?? false) && index.Equals(occurrenceIndex.Value))
|
||||
if(a.StartDate == null || a.EndDate == null)
|
||||
{
|
||||
continue;
|
||||
return false;
|
||||
}
|
||||
|
||||
var myStart = a.StartDate.Value.Date;
|
||||
var myEnd = a.EndDate.Value.Date;
|
||||
|
||||
var isInInterval = start.Date.InBetween(myStart.GetShortDateTime(), myEnd, true);
|
||||
|
||||
return isInInterval && a.Type != 4;
|
||||
}).ToList();
|
||||
|
||||
var hasToStop = false;
|
||||
|
||||
// Prüfen, ob es sich bei dem Termin für den Überschneidungen gesucht werden, um zu unterscheiden, ob ein Serientermin in einen normalen geändert wird.
|
||||
var root = FindRootAppointmentByRecurrenceId(recurrenceInfo.Id.ToString());
|
||||
if(root.Oid != null && selectedAppointmentOid != null && root.Oid == selectedAppointmentOid && root.RecurrenceInfo != null && IsNullOrWhiteSpace(recurrenceId?.ToString()))
|
||||
{
|
||||
hasToStop = true;
|
||||
}
|
||||
|
||||
// Indices und Ids der RecurrenceInfo vergleichen. Stimmen sie überein, dann wird das generiert Serienelement ignoriert.
|
||||
if(occurrence.RecurrenceInfo?.Id != null && !hasToStop)
|
||||
{
|
||||
if(Guid.TryParse(occurrence.RecurrenceInfo.Id.ToString(), out var guid))
|
||||
{
|
||||
foreach(var relatedAppointment in relatedAppointmentsInInterval)
|
||||
{
|
||||
var relatedAppointmentRecurrenceId = relatedAppointment.GetRecurrenceIdAndIndex(out var relatedAppointmentRecurrenceIndex);
|
||||
|
||||
if(relatedAppointmentRecurrenceId != null)
|
||||
{
|
||||
if(guid.Equals(relatedAppointmentRecurrenceId) && relatedAppointmentRecurrenceIndex.Equals(occurrence.RecurrenceIndex))
|
||||
{
|
||||
hasToStop = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
appointments.AddIfNotIn(occurrenceAppointment);
|
||||
if(hasToStop)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var recurringAppointment = new SchedulerAppointment
|
||||
{
|
||||
AllDay = occurrence.AllDay,
|
||||
CustomerList = appointment.CustomerList,
|
||||
Notice = appointment.Notice,
|
||||
EmployeeList = appointment.EmployeeList,
|
||||
EndDate = occurrence.Start.AddMinutes(duration),
|
||||
FormerBookingSequenceOid = appointment.FormerBookingSequenceOid,
|
||||
IsPrivate = appointment.IsPrivate,
|
||||
Location = appointment.Location,
|
||||
Originator = appointment.Originator,
|
||||
RecurrenceInfo = occurrence.RecurrenceInfo.ToXml(),
|
||||
ReminderInfo = appointment.ReminderInfo,
|
||||
ResourceList = appointment.ResourceList,
|
||||
StartDate = occurrence.Start,
|
||||
Subject = appointment.Subject ?? "",
|
||||
Type = appointment.Type
|
||||
};
|
||||
|
||||
appointments.AddIfNotIn(recurringAppointment);
|
||||
}
|
||||
}
|
||||
|
||||
return appointments.ToList();
|
||||
return appointments.Where(appointment => appointment.Type != 4).OrderBy(appointment => appointment.StartDate).ToList();
|
||||
}
|
||||
|
||||
private static bool FilterRootAppointment(SchedulerAppointment root, Guid? recurrenceIdToIgnore)
|
||||
{
|
||||
var recId = root.GetRecurrenceId();
|
||||
|
||||
if(recId is null || recurrenceIdToIgnore is null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return !recId.Equals(recurrenceIdToIgnore);
|
||||
}
|
||||
|
||||
public List<ConfirmationReceiptSignature> LoadAllConfirmationReceiptSignaturesByServiceRecordOids(IList<long> serviceRecordOids)
|
||||
@@ -5395,5 +5400,78 @@ namespace BeWo.Data.Access
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public Dictionary<string, List<string>> CheckResourceAvailabilityWithEmployeeInformation(DateTime start, DateTime end, List<long> resourceOids, long? selectedAppointmentOid, Guid? recurrenceId = null, int occurrenceIndex = 0)
|
||||
{
|
||||
var appointments = FindAppointmentsByResourcesInInterval(resourceOids, start, end, selectedAppointmentOid, recurrenceId, occurrenceIndex);
|
||||
|
||||
var user = LoggedInUserOperationContextExt.Current?.User ?? SessionFacade.LoggedInUser;
|
||||
|
||||
var result = new Dictionary<string, List<string>>();
|
||||
|
||||
if(user is null)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
var loggedInEmployee = user.Employee;
|
||||
|
||||
var hasRightToViewEmployeeAppointments = user.CheckForRight(UserRightType.KalenderMitarbeitertermineAnsehen);
|
||||
var hasRightToViewResourceAppointments = user.CheckForRight(UserRightType.KalenderRessourcentermineAnsehen);
|
||||
|
||||
var dictionary = new Dictionary<Resource, List<SchedulerAppointment>>();
|
||||
|
||||
foreach(var appointment in appointments)
|
||||
{
|
||||
foreach(var resource in appointment.ResourceList)
|
||||
{
|
||||
dictionary.AddOrUpdateValueInDictionary(resource, appointment);
|
||||
}
|
||||
}
|
||||
|
||||
foreach(var resource2Appointments in dictionary)
|
||||
{
|
||||
foreach(var appointment in resource2Appointments.Value)
|
||||
{
|
||||
var originator = appointment.Originator;
|
||||
var employee2Appointments = appointment.EmployeeList;
|
||||
|
||||
var isOwnAppointment = (originator?.Equals(loggedInEmployee) ?? false) || employee2Appointments.ToList().Any(e2a => e2a.Employee.Equals(loggedInEmployee));
|
||||
|
||||
// Wenn isOwnAppointment true ist, darf der Benutzer die Uhrzeiten und die Mitarbeiter sehen. Ansonsten müssen die Rechte geprüft werden.
|
||||
if(isOwnAppointment || hasRightToViewEmployeeAppointments) // Es werden Zeit und Mitarbeiter angezeigt
|
||||
{
|
||||
result.AddOrUpdateValueInDictionary(resource2Appointments.Key.Name, $"{CreateDateTimeInfoFromAppointment(appointment.StartDate, appointment.EndDate, appointment.AllDay)} von {originator}");
|
||||
}
|
||||
else if(hasRightToViewResourceAppointments && !hasRightToViewEmployeeAppointments) // Nur die Uhrzeit anzeigen
|
||||
{
|
||||
result.AddOrUpdateValueInDictionary(resource2Appointments.Key.Name, $"{CreateDateTimeInfoFromAppointment(appointment.StartDate, appointment.EndDate, appointment.AllDay)}");
|
||||
}
|
||||
else if(!hasRightToViewEmployeeAppointments) // Es werden weder Zeit noch Mitarbeiter angezeigt
|
||||
{
|
||||
result.AddOrUpdateValueInDictionary(resource2Appointments.Key.Name, string.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static string CreateDateTimeInfoFromAppointment(DateTime? start, DateTime? end, bool allDay)
|
||||
{
|
||||
if(start.HasValue && end.HasValue && allDay == false)
|
||||
{
|
||||
return start.Value.Date == end.Value.Date ?
|
||||
$"{start.Value.ToShortTimeString()} - {end.Value.ToShortTimeString()} " :
|
||||
$"{start.Value:dd.MM.yyyy HH:mm} - {end.Value:dd.MM.yyyy HH:mm} ";
|
||||
}
|
||||
|
||||
if(allDay && start.HasValue && end.HasValue)
|
||||
{
|
||||
return start.Value.Date == end.Value.Date ? " " : $"{start.Value.ToShortDateString()} - {end.Value.ToShortDateString()} ";
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,96 +1,106 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{78CEF27A-E950-41B0-B0FD-2930D2873CE7}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>AbwMuenster</RootNamespace>
|
||||
<AssemblyName>3563903598_Reports</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Host\bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\Host\bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="BudgetnachweisAnhang.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="BudgetnachweisAnhang.Designer.cs">
|
||||
<DependentUpon>BudgetnachweisAnhang.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CustomReportCreator.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SettlementReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport.Designer.cs">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Data\Data.csproj">
|
||||
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
|
||||
<Name>Data</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Report\Report.csproj">
|
||||
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
|
||||
<Name>Report</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Service\Service.csproj">
|
||||
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
|
||||
<Name>Service</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Shared\Shared.csproj">
|
||||
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
|
||||
<Name>Shared</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="BudgetnachweisAnhang.resx">
|
||||
<DependentUpon>BudgetnachweisAnhang.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="SettlementReport.resx">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{78CEF27A-E950-41B0-B0FD-2930D2873CE7}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>AbwMuenster</RootNamespace>
|
||||
<AssemblyName>3563903598_Reports</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Host\bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\Host\bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="BudgetnachweisAnhang.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="BudgetnachweisAnhang.Designer.cs">
|
||||
<DependentUpon>BudgetnachweisAnhang.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CustomReportCreator.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SettlementReport2.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport2.Designer.cs">
|
||||
<DependentUpon>SettlementReport2.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport.Designer.cs">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Data\Data.csproj">
|
||||
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
|
||||
<Name>Data</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Report\Report.csproj">
|
||||
<Project>{40d8b312-ea64-49e3-a31a-5e57ed4d5654}</Project>
|
||||
<Name>Report</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Service\Service.csproj">
|
||||
<Project>{094331c3-ecee-4c89-bbfd-4c9ded89f0ef}</Project>
|
||||
<Name>Service</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Shared\Shared.csproj">
|
||||
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
|
||||
<Name>Shared</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="BudgetnachweisAnhang.resx">
|
||||
<DependentUpon>BudgetnachweisAnhang.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="SettlementReport2.resx">
|
||||
<DependentUpon>SettlementReport2.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettlementReport.resx">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace AbwMuenster
|
||||
namespace AbwMuenster.Alt
|
||||
{
|
||||
partial class Spitzabrechnung
|
||||
{
|
||||
|
||||
@@ -9,7 +9,7 @@ using BeWo.Report;
|
||||
using BS.Shared.DataContracts;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace AbwMuenster
|
||||
namespace AbwMuenster.Alt
|
||||
{
|
||||
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SettlementRO>
|
||||
{
|
||||
@@ -48,14 +48,6 @@ namespace AbwMuenster
|
||||
xrCheckBox1.Checked = true;
|
||||
}
|
||||
}
|
||||
if (!String.IsNullOrEmpty(pRO.SenderContactPersonPhone))
|
||||
pRO.SenderContactPersonPhone = pRO.SenderContactPersonPhone.Replace("Tel.:", "").Trim();
|
||||
|
||||
if (!String.IsNullOrEmpty(pRO.SenderContactPersonFax))
|
||||
pRO.SenderContactPersonFax = pRO.SenderContactPersonFax.Replace("Fax:", "").Trim();
|
||||
|
||||
if (!String.IsNullOrEmpty(pRO.SenderContactPersonMail))
|
||||
pRO.SenderContactPersonMail = pRO.SenderContactPersonMail.Replace("E-Mail:", "").Trim();
|
||||
|
||||
bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
470
ReportImp/AbwMuenster/SettlementReport2.Designer.cs
generated
Normal file
470
ReportImp/AbwMuenster/SettlementReport2.Designer.cs
generated
Normal file
@@ -0,0 +1,470 @@
|
||||
namespace AbwMuenster
|
||||
{
|
||||
partial class Spitzabrechnung
|
||||
{
|
||||
/// <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();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Spitzabrechnung));
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.xrPanel1 = new DevExpress.XtraReports.UI.XRPanel();
|
||||
this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAktenzeichen = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
|
||||
this.xrLabel35 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrCheckBox2 = new DevExpress.XtraReports.UI.XRCheckBox();
|
||||
this.xrCheckBox1 = new DevExpress.XtraReports.UI.XRCheckBox();
|
||||
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.lblAdresse = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAdresseLori = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
|
||||
this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
//
|
||||
this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrPanel1,
|
||||
this.xrLabel4,
|
||||
this.xrLine1,
|
||||
this.xrLabel35,
|
||||
this.xrLabel12,
|
||||
this.xrCheckBox2,
|
||||
this.xrCheckBox1});
|
||||
this.Detail.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.Detail.HeightF = 579.4375F;
|
||||
this.Detail.Name = "Detail";
|
||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail.StylePriority.UseFont = false;
|
||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrPanel1
|
||||
//
|
||||
this.xrPanel1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrPanel1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel15,
|
||||
this.lblAktenzeichen,
|
||||
this.xrLabel7,
|
||||
this.xrLabel10,
|
||||
this.xrLabel3,
|
||||
this.xrLabel9});
|
||||
this.xrPanel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrPanel1.Name = "xrPanel1";
|
||||
this.xrPanel1.SizeF = new System.Drawing.SizeF(673.3192F, 179.1617F);
|
||||
this.xrPanel1.StylePriority.UseBorders = false;
|
||||
//
|
||||
// xrLabel15
|
||||
//
|
||||
this.xrLabel15.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel15.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrLabel15.CanShrink = true;
|
||||
this.xrLabel15.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 29.99999F);
|
||||
this.xrLabel15.Name = "xrLabel15";
|
||||
this.xrLabel15.SizeF = new System.Drawing.SizeF(650F, 20F);
|
||||
this.xrLabel15.StylePriority.UseBackColor = false;
|
||||
this.xrLabel15.StylePriority.UseBorders = false;
|
||||
this.xrLabel15.StylePriority.UseFont = false;
|
||||
this.xrLabel15.StylePriority.UsePadding = false;
|
||||
this.xrLabel15.Text = "[CustomerName][CustomerAddress]";
|
||||
this.xrLabel15.WordWrap = false;
|
||||
//
|
||||
// lblAktenzeichen
|
||||
//
|
||||
this.lblAktenzeichen.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblAktenzeichen.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.lblAktenzeichen.CanShrink = true;
|
||||
this.lblAktenzeichen.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.lblAktenzeichen.LocationFloat = new DevExpress.Utils.PointFloat(10F, 65F);
|
||||
this.lblAktenzeichen.Multiline = true;
|
||||
this.lblAktenzeichen.Name = "lblAktenzeichen";
|
||||
this.lblAktenzeichen.SizeF = new System.Drawing.SizeF(650F, 20F);
|
||||
this.lblAktenzeichen.StylePriority.UseBackColor = false;
|
||||
this.lblAktenzeichen.StylePriority.UseBorders = false;
|
||||
this.lblAktenzeichen.StylePriority.UseFont = false;
|
||||
this.lblAktenzeichen.StylePriority.UsePadding = false;
|
||||
this.lblAktenzeichen.Text = "Aktenzeichen: [CustomerReferenceNumber] Geburtsdatum: [CustomerBirthday!dd" +
|
||||
".MM.yyyy]";
|
||||
this.lblAktenzeichen.WordWrap = false;
|
||||
//
|
||||
// xrLabel7
|
||||
//
|
||||
this.xrLabel7.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel7.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrLabel7.CanShrink = true;
|
||||
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(10F, 100F);
|
||||
this.xrLabel7.Multiline = true;
|
||||
this.xrLabel7.Name = "xrLabel7";
|
||||
this.xrLabel7.SizeF = new System.Drawing.SizeF(650F, 20F);
|
||||
this.xrLabel7.StylePriority.UseBackColor = false;
|
||||
this.xrLabel7.StylePriority.UseBorders = false;
|
||||
this.xrLabel7.StylePriority.UseFont = false;
|
||||
this.xrLabel7.StylePriority.UsePadding = false;
|
||||
this.xrLabel7.Text = "Bewilligungszeitraum von [AccountingPeriod]";
|
||||
this.xrLabel7.WordWrap = false;
|
||||
//
|
||||
// xrLabel10
|
||||
//
|
||||
this.xrLabel10.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel10.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(10F, 135F);
|
||||
this.xrLabel10.Multiline = true;
|
||||
this.xrLabel10.Name = "xrLabel10";
|
||||
this.xrLabel10.SizeF = new System.Drawing.SizeF(551.3751F, 27.08333F);
|
||||
this.xrLabel10.StylePriority.UseBackColor = false;
|
||||
this.xrLabel10.StylePriority.UseBorders = false;
|
||||
this.xrLabel10.StylePriority.UseFont = false;
|
||||
this.xrLabel10.StylePriority.UsePadding = false;
|
||||
this.xrLabel10.Text = "Tatsächlich geleistete Fachleistungsstunden im Bewilligungszeitraum lt. Anlage:";
|
||||
//
|
||||
// xrLabel3
|
||||
//
|
||||
this.xrLabel3.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel3.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrLabel3.BorderWidth = 2F;
|
||||
this.xrLabel3.CanShrink = true;
|
||||
this.xrLabel3.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "RecordedFLSTotal", "{0:0.00}")});
|
||||
this.xrLabel3.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(561.38F, 132F);
|
||||
this.xrLabel3.Multiline = true;
|
||||
this.xrLabel3.Name = "xrLabel3";
|
||||
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel3.SizeF = new System.Drawing.SizeF(98.62469F, 27.08333F);
|
||||
this.xrLabel3.StylePriority.UseBackColor = false;
|
||||
this.xrLabel3.StylePriority.UseBorders = false;
|
||||
this.xrLabel3.StylePriority.UseBorderWidth = false;
|
||||
this.xrLabel3.StylePriority.UseFont = false;
|
||||
this.xrLabel3.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
|
||||
this.xrLabel3.WordWrap = false;
|
||||
//
|
||||
// xrLabel9
|
||||
//
|
||||
this.xrLabel9.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel9.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrLabel9.CanShrink = true;
|
||||
this.xrLabel9.Font = new System.Drawing.Font("Arial", 11F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))));
|
||||
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 9.999974F);
|
||||
this.xrLabel9.Name = "xrLabel9";
|
||||
this.xrLabel9.SizeF = new System.Drawing.SizeF(650F, 20F);
|
||||
this.xrLabel9.StylePriority.UseBackColor = false;
|
||||
this.xrLabel9.StylePriority.UseBorders = false;
|
||||
this.xrLabel9.StylePriority.UseFont = false;
|
||||
this.xrLabel9.StylePriority.UsePadding = false;
|
||||
this.xrLabel9.Text = "Leistungsberechtigte/r:";
|
||||
this.xrLabel9.WordWrap = false;
|
||||
//
|
||||
// xrLabel4
|
||||
//
|
||||
this.xrLabel4.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 403.875F);
|
||||
this.xrLabel4.Multiline = true;
|
||||
this.xrLabel4.Name = "xrLabel4";
|
||||
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel4.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel4.SizeF = new System.Drawing.SizeF(663.5623F, 81.58331F);
|
||||
this.xrLabel4.StylePriority.UseFont = false;
|
||||
this.xrLabel4.Text = resources.GetString("xrLabel4.Text");
|
||||
//
|
||||
// xrLine1
|
||||
//
|
||||
this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 544.3542F);
|
||||
this.xrLine1.Name = "xrLine1";
|
||||
this.xrLine1.SizeF = new System.Drawing.SizeF(678.3188F, 10.79163F);
|
||||
//
|
||||
// xrLabel35
|
||||
//
|
||||
this.xrLabel35.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel35.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrLabel35.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel35.LocationFloat = new DevExpress.Utils.PointFloat(2.997335F, 555.1459F);
|
||||
this.xrLabel35.Multiline = true;
|
||||
this.xrLabel35.Name = "xrLabel35";
|
||||
this.xrLabel35.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel35.SizeF = new System.Drawing.SizeF(657F, 24.29156F);
|
||||
this.xrLabel35.StylePriority.UseBackColor = false;
|
||||
this.xrLabel35.StylePriority.UseBorders = false;
|
||||
this.xrLabel35.StylePriority.UseFont = false;
|
||||
this.xrLabel35.Text = "Stempel / Funktion und Unterschrift der / des Verantwortlichen";
|
||||
this.xrLabel35.WordWrap = false;
|
||||
//
|
||||
// xrLabel12
|
||||
//
|
||||
this.xrLabel12.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 267.0832F);
|
||||
this.xrLabel12.Multiline = true;
|
||||
this.xrLabel12.Name = "xrLabel12";
|
||||
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel12.SizeF = new System.Drawing.SizeF(695.3123F, 122.625F);
|
||||
this.xrLabel12.StylePriority.UseBackColor = false;
|
||||
this.xrLabel12.StylePriority.UseFont = false;
|
||||
this.xrLabel12.Text = resources.GetString("xrLabel12.Text");
|
||||
//
|
||||
// xrCheckBox2
|
||||
//
|
||||
this.xrCheckBox2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 226.0367F);
|
||||
this.xrCheckBox2.Name = "xrCheckBox2";
|
||||
this.xrCheckBox2.SizeF = new System.Drawing.SizeF(211.0832F, 21.875F);
|
||||
this.xrCheckBox2.StylePriority.UseFont = false;
|
||||
this.xrCheckBox2.Text = " Die Betreuung dauert an.";
|
||||
//
|
||||
// xrCheckBox1
|
||||
//
|
||||
this.xrCheckBox1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 192.7034F);
|
||||
this.xrCheckBox1.Name = "xrCheckBox1";
|
||||
this.xrCheckBox1.SizeF = new System.Drawing.SizeF(493.5575F, 21.875F);
|
||||
this.xrCheckBox1.StylePriority.UseFont = false;
|
||||
this.xrCheckBox1.Text = " Die Betreuung wurde beendet am";
|
||||
//
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.HeightF = 50F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
//
|
||||
// bottomMarginBand1
|
||||
//
|
||||
this.bottomMarginBand1.HeightF = 50F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
//
|
||||
// lblAdresse
|
||||
//
|
||||
this.lblAdresse.LocationFloat = new DevExpress.Utils.PointFloat(0F, 161.8959F);
|
||||
this.lblAdresse.Multiline = true;
|
||||
this.lblAdresse.Name = "lblAdresse";
|
||||
this.lblAdresse.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblAdresse.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.lblAdresse.SizeF = new System.Drawing.SizeF(329.9999F, 81.58333F);
|
||||
this.lblAdresse.StylePriority.UseFont = false;
|
||||
this.lblAdresse.Text = "Landschaftsverband Westfalen- Lippe\r\nLWL- Inklusionsamt Soziale Teilhabe\r\n48133 M" +
|
||||
"ünster\r\n";
|
||||
//
|
||||
// xrLabel19
|
||||
//
|
||||
this.xrLabel19.CanGrow = false;
|
||||
this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(339.9976F, 20F);
|
||||
this.xrLabel19.Multiline = true;
|
||||
this.xrLabel19.Name = "xrLabel19";
|
||||
this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel19.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel19.SizeF = new System.Drawing.SizeF(140.0208F, 73.24997F);
|
||||
this.xrLabel19.StylePriority.UseBorders = false;
|
||||
this.xrLabel19.StylePriority.UseFont = false;
|
||||
this.xrLabel19.Text = "Ansprechpartner/in:\r\nTelefon:\r\nFax:\r\nE-Mail:";
|
||||
//
|
||||
// lblAdresseLori
|
||||
//
|
||||
this.lblAdresseLori.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.lblAdresseLori.Multiline = true;
|
||||
this.lblAdresseLori.Name = "lblAdresseLori";
|
||||
this.lblAdresseLori.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblAdresseLori.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.lblAdresseLori.SizeF = new System.Drawing.SizeF(309.1667F, 108.25F);
|
||||
this.lblAdresseLori.StylePriority.UseFont = false;
|
||||
this.lblAdresseLori.Text = "ABW MÜNSTER\r\nDomhöver Klein Mannefeld Schulz GbR\r\nHoher Heckenweg 99\r\n48147 Münst" +
|
||||
"er";
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
this.xrLabel1.Borders = DevExpress.XtraPrinting.BorderSide.None;
|
||||
this.xrLabel1.CanGrow = false;
|
||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(480.0183F, 20F);
|
||||
this.xrLabel1.Multiline = true;
|
||||
this.xrLabel1.Name = "xrLabel1";
|
||||
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel1.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel1.SizeF = new System.Drawing.SizeF(236.9816F, 73.24997F);
|
||||
this.xrLabel1.StylePriority.UseBorders = false;
|
||||
this.xrLabel1.StylePriority.UseFont = false;
|
||||
this.xrLabel1.Text = "[SenderContactPerson]\r\n[SenderContactPersonPhone]\r\n[SenderContactPersonFax]\r\n[Sen" +
|
||||
"derContactPersonMail]";
|
||||
//
|
||||
// xrLabel2
|
||||
//
|
||||
this.xrLabel2.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(339.9976F, 93.24995F);
|
||||
this.xrLabel2.Multiline = true;
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel2.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(140.0208F, 73.24998F);
|
||||
this.xrLabel2.StylePriority.UseBorders = false;
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "ZAD-Nr. des LWL:";
|
||||
//
|
||||
// GroupHeader1
|
||||
//
|
||||
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel11,
|
||||
this.xrLabel8,
|
||||
this.xrLabel6,
|
||||
this.xrLabel5,
|
||||
this.xrLabel2,
|
||||
this.xrLabel1,
|
||||
this.lblAdresseLori,
|
||||
this.xrLabel19,
|
||||
this.lblAdresse});
|
||||
this.GroupHeader1.Font = new System.Drawing.Font("Arial", 11F);
|
||||
this.GroupHeader1.HeightF = 316.2917F;
|
||||
this.GroupHeader1.Name = "GroupHeader1";
|
||||
this.GroupHeader1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel11
|
||||
//
|
||||
this.xrLabel11.Borders = DevExpress.XtraPrinting.BorderSide.Top;
|
||||
this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(480.0183F, 93.24997F);
|
||||
this.xrLabel11.Multiline = true;
|
||||
this.xrLabel11.Name = "xrLabel11";
|
||||
this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel11.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel11.SizeF = new System.Drawing.SizeF(193.3008F, 73.24997F);
|
||||
this.xrLabel11.StylePriority.UseBorders = false;
|
||||
this.xrLabel11.StylePriority.UseFont = false;
|
||||
this.xrLabel11.Text = "9021318";
|
||||
//
|
||||
// xrLabel8
|
||||
//
|
||||
this.xrLabel8.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
|
||||
this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(0F, 276.2917F);
|
||||
this.xrLabel8.Multiline = true;
|
||||
this.xrLabel8.Name = "xrLabel8";
|
||||
this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel8.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel8.SizeF = new System.Drawing.SizeF(673.319F, 40.00003F);
|
||||
this.xrLabel8.StylePriority.UseFont = false;
|
||||
this.xrLabel8.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel8.Text = "Budgetnachweis\r\nüber die Abrechnung von Fachleistungsstunden im Rahmen der Eingli" +
|
||||
"ederungshilfe";
|
||||
this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopCenter;
|
||||
//
|
||||
// xrLabel6
|
||||
//
|
||||
this.xrLabel6.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
|
||||
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate", "Münster, {0:dd.MM.yyyy}")});
|
||||
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(480.0183F, 0F);
|
||||
this.xrLabel6.Name = "xrLabel6";
|
||||
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(193.3007F, 20.00001F);
|
||||
this.xrLabel6.StylePriority.UseBorders = false;
|
||||
//
|
||||
// xrLabel5
|
||||
//
|
||||
this.xrLabel5.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
|
||||
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(339.9976F, 0F);
|
||||
this.xrLabel5.Multiline = true;
|
||||
this.xrLabel5.Name = "xrLabel5";
|
||||
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel5.ProcessNullValues = DevExpress.XtraReports.UI.ValueSuppressType.SuppressAndShrink;
|
||||
this.xrLabel5.SizeF = new System.Drawing.SizeF(140.0208F, 20F);
|
||||
this.xrLabel5.StylePriority.UseBorders = false;
|
||||
this.xrLabel5.StylePriority.UseFont = false;
|
||||
this.xrLabel5.Text = "Ort, Datum";
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.Settlement2RO);
|
||||
//
|
||||
// Spitzabrechnung
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail,
|
||||
this.topMarginBand1,
|
||||
this.bottomMarginBand1,
|
||||
this.GroupHeader1});
|
||||
this.DataSource = this.bindingSource1;
|
||||
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
|
||||
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
|
||||
this.ruleRateFactorNull});
|
||||
this.Margins = new System.Drawing.Printing.Margins(80, 30, 50, 50);
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.XtraReports.UI.DetailBand Detail;
|
||||
private System.Windows.Forms.BindingSource bindingSource1;
|
||||
private DevExpress.XtraReports.UI.FormattingRule ruleRateFactorNull;
|
||||
private DevExpress.XtraReports.UI.TopMarginBand topMarginBand1;
|
||||
private DevExpress.XtraReports.UI.BottomMarginBand bottomMarginBand1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel12;
|
||||
private DevExpress.XtraReports.UI.XRCheckBox xrCheckBox2;
|
||||
private DevExpress.XtraReports.UI.XRCheckBox xrCheckBox1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel35;
|
||||
private DevExpress.XtraReports.UI.XRLine xrLine1;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblAdresse;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel19;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblAdresseLori;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel2;
|
||||
private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel4;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel6;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel5;
|
||||
private DevExpress.XtraReports.UI.XRPanel xrPanel1;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel15;
|
||||
private DevExpress.XtraReports.UI.XRLabel lblAktenzeichen;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel7;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel10;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel9;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
|
||||
private DevExpress.XtraReports.UI.XRLabel xrLabel11;
|
||||
}
|
||||
}
|
||||
61
ReportImp/AbwMuenster/SettlementReport2.cs
Normal file
61
ReportImp/AbwMuenster/SettlementReport2.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Report;
|
||||
using BS.Shared.DataContracts;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace AbwMuenster
|
||||
{
|
||||
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<Settlement2RO>
|
||||
{
|
||||
public Spitzabrechnung()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(Settlement2RO pRO)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(pRO.SenderContactPersonPhone))
|
||||
{
|
||||
pRO.SenderContactPersonPhone = pRO.SenderContactPersonPhone.Replace("Tel.:", "").Trim();
|
||||
}
|
||||
if (!String.IsNullOrEmpty(pRO.SenderContactPersonFax))
|
||||
{
|
||||
pRO.SenderContactPersonFax = pRO.SenderContactPersonFax.Replace("Fax:", "").Trim();
|
||||
}
|
||||
if (!String.IsNullOrEmpty(pRO.SenderContactPersonMail))
|
||||
{
|
||||
pRO.SenderContactPersonMail = pRO.SenderContactPersonMail.Replace("Email:", "").Trim();
|
||||
}
|
||||
|
||||
xrCheckBox2.Checked = true;
|
||||
|
||||
if (pRO.InvoiceBaseOid.HasValue)
|
||||
{
|
||||
var ib = DAOFactory.GenericDAO.LoadByID<InvoiceBase>(pRO.InvoiceBaseOid.Value);
|
||||
var c = ib.CostBearer2SupportConcept.SupportConcept.Customer;
|
||||
|
||||
if (c.Person != null && c.Person.Address != null)
|
||||
{
|
||||
String customerAddress = String.Format(", {0}, {1} {2}", c.Person.Address.Street, c.Person.Address.PostalCode, c.Person.Address.Town);
|
||||
xrLabel15.Text = xrLabel15.Text.Replace("[CustomerAddress]", customerAddress);
|
||||
}
|
||||
|
||||
if (c.TerminationDate.HasValue)
|
||||
{
|
||||
xrCheckBox1.Text = String.Format(" Die Betreuung wurde beendet am {0:dd.MM.yyyy}", c.TerminationDate);
|
||||
xrCheckBox2.Checked = false;
|
||||
xrCheckBox1.Checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
132
ReportImp/AbwMuenster/SettlementReport2.resx
Normal file
132
ReportImp/AbwMuenster/SettlementReport2.resx
Normal file
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="xrLabel4.Text" xml:space="preserve">
|
||||
<value>Sollte sich bei der Abrechnung der FLS ein Auszahlungsbetrag zu unseren Gunsten ergeben, bitten wir um Erstattung auf folgendes Konto:
|
||||
|
||||
Kreditinstitut: Volksbank Münsterland Nord eG IBAN: DE16 4036 1906 0809 4283 00
|
||||
</value>
|
||||
</data>
|
||||
<data name="xrLabel12.Text" xml:space="preserve">
|
||||
<value>Hiermit wird erklärt, dass die Verpflichtungen aus den Vereinbarungen nach §§75 ff. SGB XII bzw. §§125 ff. SGB IX eingehalten wurden und alle hier gemachten Angaben je Betreuungskontakt anhand der Quittierungsbelege sowie der Betreuungsdokumentation jederzeit nachgewiesen werden können. Diese Unterlagen sind 5 Jahre aufzubewahren und auf Verlangen des Sozialhilfeträgers bzw. des Trägers der Eingliederungshilfe vorzulegen (§2 Abs.1 der Vergütungsvereinbarung).</value>
|
||||
</data>
|
||||
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -157,7 +157,8 @@ CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'Verwendung',
|
||||
cb2sc.Oid
|
||||
*/
|
||||
|
||||
//"Rechnungsnummer;Konto;Gegenkonto;Buchungstext;Belegfeld1;Umsatz Soll;Kostenstelle"
|
||||
// "Rechnungsnummer;Datum;Betrag;Debitorennummer;Ertragskonto;Klientenname"
|
||||
|
||||
var dt = ExecuteQuery(sql, date);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
@@ -169,26 +170,29 @@ cb2sc.Oid
|
||||
}
|
||||
DateTime lastDate = new DateTime(date.Year, date.Month, 1);
|
||||
lastDate = lastDate.AddMonths(1).AddDays(-1);
|
||||
//sb.AppendLine("Beleg_1;Datum;Betrag;Soll;Haben;Text");
|
||||
|
||||
sb.Append(String.Format("{0:dd.MM.yyyy}", lastDate));
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0:MM}'.{0:yyyy}", lastDate));
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0}", row[1])); //Debitor
|
||||
sb.Append(";");
|
||||
sb.Append("5810"); // Erlöskonto
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0:0.00}", row[0]));
|
||||
sb.Append(";");
|
||||
|
||||
sb.Append(String.Format("{0} - {1:yyyy}/{1:MM}", row[3], lastDate));
|
||||
sb.Append(";");
|
||||
sb.Append("70000");
|
||||
sb.Append(BaueRechnungsnummer(row[1].ToString(), lastDate) + ";"); // Rechnungsnummer
|
||||
sb.Append(String.Format("{0:dd.MM.yyyy};", lastDate)); // Datum
|
||||
sb.Append(String.Format("{0};", row[0])); // Betrag
|
||||
sb.Append(String.Format("{0};", row[1])); // Debitorennummer
|
||||
sb.Append(GetErtragskontoFuerDebitor(row[1].ToString()) + ";"); // Ertragskonto;
|
||||
sb.Append(String.Format("{0}", row[3])); // Debitorennummer
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private static string BaueRechnungsnummer(string debitornummer, DateTime lastDate)
|
||||
{
|
||||
if (!debitornummer.IsNullOrEmpty())
|
||||
{
|
||||
return lastDate.Year + debitornummer.Substring(0, 2);
|
||||
}
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
private static String GetMonatlicheRechnungenSql(DateTime date)
|
||||
{
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -191,7 +191,7 @@
|
||||
<Compile Include="SettlementReport2.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SettlementReport2.designer.cs">
|
||||
<Compile Include="SettlementReport2.Designer.cs">
|
||||
<DependentUpon>SettlementReport2.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SozPsychErfassungBeratungRO.cs" />
|
||||
@@ -278,12 +278,13 @@
|
||||
<EmbeddedResource Include="ServicesOverviewReport.resx">
|
||||
<DependentUpon>ServicesOverviewReport.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettlementReport2.resx">
|
||||
<DependentUpon>SettlementReport2.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettlementReport.resx">
|
||||
<DependentUpon>SettlementReport.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SettlementReport2.resx">
|
||||
<DependentUpon>SettlementReport2.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Teamstundenkonto.resx">
|
||||
<DependentUpon>Teamstundenkonto.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
1480
ReportImp/KetteReports/ServiceInvoiceReport.Designer.cs
generated
1480
ReportImp/KetteReports/ServiceInvoiceReport.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -11,7 +11,7 @@ using BS.Shared.Extensions;
|
||||
|
||||
namespace BeWo.KetteReports.Neu
|
||||
{
|
||||
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport//, IBeWoReport<Settlement2RO>
|
||||
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<Settlement2RO>
|
||||
{
|
||||
public Spitzabrechnung()
|
||||
{
|
||||
|
||||
1860
ReportImp/KetteReports/SettlementReport2.designer.cs
generated
1860
ReportImp/KetteReports/SettlementReport2.designer.cs
generated
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
using BeWo.Report.ReportObjects;
|
||||
namespace BeWo.Report.DefaultReports
|
||||
namespace MvzMedikus
|
||||
{
|
||||
partial class Spitzabrechnung
|
||||
{
|
||||
|
||||
@@ -8,7 +8,7 @@ using BeWo.Report;
|
||||
using System.Text.RegularExpressions;
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace BeWo.Report.DefaultReports
|
||||
namespace MvzMedikus
|
||||
{
|
||||
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<Settlement2RO>
|
||||
{
|
||||
|
||||
@@ -97,9 +97,6 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
@@ -153,7 +150,7 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(317F, 17F);
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel6.Text = "SDG C.Geßner • Bahnhofstraße • 39288 Burg";
|
||||
this.xrLabel6.Text = "SDG C.Geßner • Bahnhofstraße 7 • 39288 Burg";
|
||||
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
//
|
||||
// xrLabel7
|
||||
@@ -562,7 +559,7 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||
this.Version = "13.1";
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
|
||||
|
||||
@@ -29,165 +29,165 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(InvoiceCustomerReport));
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
|
||||
this.xrRichText1 = new DevExpress.XtraReports.UI.XRRichText();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAddress = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
|
||||
this.xrRichText2 = new DevExpress.XtraReports.UI.XRRichText();
|
||||
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
//
|
||||
this.Detail.HeightF = 0F;
|
||||
this.Detail.Name = "Detail";
|
||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrTable1
|
||||
//
|
||||
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable1.Name = "xrTable1";
|
||||
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.components = new System.ComponentModel.Container();
|
||||
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(InvoiceCustomerReport));
|
||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
|
||||
this.xrRichText1 = new DevExpress.XtraReports.UI.XRRichText();
|
||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.lblAddress = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule();
|
||||
this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand();
|
||||
this.xrRichText2 = new DevExpress.XtraReports.UI.XRRichText();
|
||||
this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel12 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
|
||||
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.GroupFooter2 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||
//
|
||||
// Detail
|
||||
//
|
||||
this.Detail.HeightF = 0F;
|
||||
this.Detail.Name = "Detail";
|
||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// xrTable1
|
||||
//
|
||||
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrTable1.Name = "xrTable1";
|
||||
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow9});
|
||||
this.xrTable1.SizeF = new System.Drawing.SizeF(656.9999F, 25F);
|
||||
this.xrTable1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow9
|
||||
//
|
||||
this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTable1.SizeF = new System.Drawing.SizeF(656.9999F, 25F);
|
||||
this.xrTable1.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow9
|
||||
//
|
||||
this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell6,
|
||||
this.xrTableCell9,
|
||||
this.xrTableCell14,
|
||||
this.xrTableCell10,
|
||||
this.xrTableCell12});
|
||||
this.xrTableRow9.Name = "xrTableRow9";
|
||||
this.xrTableRow9.Weight = 1D;
|
||||
//
|
||||
// xrTableCell6
|
||||
//
|
||||
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
this.xrTableRow9.Name = "xrTableRow9";
|
||||
this.xrTableRow9.Weight = 1D;
|
||||
//
|
||||
// xrTableCell6
|
||||
//
|
||||
this.xrTableCell6.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
this.xrTableCell6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.AccountingPeriodStart")});
|
||||
this.xrTableCell6.Name = "xrTableCell6";
|
||||
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell6.StylePriority.UseBorders = false;
|
||||
this.xrTableCell6.StylePriority.UsePadding = false;
|
||||
this.xrTableCell6.StylePriority.UseTextAlignment = false;
|
||||
xrSummary1.FormatString = "{0:0}";
|
||||
xrSummary1.Func = DevExpress.XtraReports.UI.SummaryFunc.RecordNumber;
|
||||
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
|
||||
this.xrTableCell6.Summary = xrSummary1;
|
||||
this.xrTableCell6.Text = "xrTableCell6";
|
||||
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell6.Weight = 0.756769914380149D;
|
||||
//
|
||||
// xrTableCell9
|
||||
//
|
||||
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
this.xrTableCell6.Name = "xrTableCell6";
|
||||
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell6.StylePriority.UseBorders = false;
|
||||
this.xrTableCell6.StylePriority.UsePadding = false;
|
||||
this.xrTableCell6.StylePriority.UseTextAlignment = false;
|
||||
xrSummary1.FormatString = "{0:0}";
|
||||
xrSummary1.Func = DevExpress.XtraReports.UI.SummaryFunc.RecordNumber;
|
||||
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
|
||||
this.xrTableCell6.Summary = xrSummary1;
|
||||
this.xrTableCell6.Text = "xrTableCell6";
|
||||
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell6.Weight = 0.756769914380149D;
|
||||
//
|
||||
// xrTableCell9
|
||||
//
|
||||
this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.ItemDescription")});
|
||||
this.xrTableCell9.Name = "xrTableCell9";
|
||||
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell9.StylePriority.UseBorders = false;
|
||||
this.xrTableCell9.StylePriority.UsePadding = false;
|
||||
this.xrTableCell9.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell9.Text = "xrTableCell9";
|
||||
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell9.Weight = 3.6467692883324525D;
|
||||
//
|
||||
// xrTableCell14
|
||||
//
|
||||
this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
this.xrTableCell9.Name = "xrTableCell9";
|
||||
this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell9.StylePriority.UseBorders = false;
|
||||
this.xrTableCell9.StylePriority.UsePadding = false;
|
||||
this.xrTableCell9.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell9.Text = "xrTableCell9";
|
||||
this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell9.Weight = 3.6467692883324525D;
|
||||
//
|
||||
// xrTableCell14
|
||||
//
|
||||
this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.UnitPrice")});
|
||||
this.xrTableCell14.Name = "xrTableCell14";
|
||||
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell14.StylePriority.UseBorders = false;
|
||||
this.xrTableCell14.StylePriority.UsePadding = false;
|
||||
this.xrTableCell14.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell14.Text = "xrTableCell14";
|
||||
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell14.Weight = 0.83099566367780386D;
|
||||
//
|
||||
// xrTableCell10
|
||||
//
|
||||
this.xrTableCell10.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
this.xrTableCell14.Name = "xrTableCell14";
|
||||
this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell14.StylePriority.UseBorders = false;
|
||||
this.xrTableCell14.StylePriority.UsePadding = false;
|
||||
this.xrTableCell14.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell14.Text = "xrTableCell14";
|
||||
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell14.Weight = 0.83099566367780386D;
|
||||
//
|
||||
// xrTableCell10
|
||||
//
|
||||
this.xrTableCell10.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.UnitCount", "{0:0.##}")});
|
||||
this.xrTableCell10.Name = "xrTableCell10";
|
||||
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell10.StylePriority.UseBorders = false;
|
||||
this.xrTableCell10.StylePriority.UsePadding = false;
|
||||
this.xrTableCell10.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell10.Text = "xrTableCell10";
|
||||
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell10.Weight = 0.56661514355294984D;
|
||||
//
|
||||
// xrTableCell12
|
||||
//
|
||||
this.xrTableCell12.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
this.xrTableCell10.Name = "xrTableCell10";
|
||||
this.xrTableCell10.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell10.StylePriority.UseBorders = false;
|
||||
this.xrTableCell10.StylePriority.UsePadding = false;
|
||||
this.xrTableCell10.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell10.Text = "xrTableCell10";
|
||||
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell10.Weight = 0.56661514355294984D;
|
||||
//
|
||||
// xrTableCell12
|
||||
//
|
||||
this.xrTableCell12.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.AmountSum")});
|
||||
this.xrTableCell12.Name = "xrTableCell12";
|
||||
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell12.StylePriority.UseBorders = false;
|
||||
this.xrTableCell12.StylePriority.UsePadding = false;
|
||||
this.xrTableCell12.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell12.Text = "xrTableCell12";
|
||||
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell12.Weight = 0.868849379705082D;
|
||||
//
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTableCell12.Name = "xrTableCell12";
|
||||
this.xrTableCell12.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell12.StylePriority.UseBorders = false;
|
||||
this.xrTableCell12.StylePriority.UsePadding = false;
|
||||
this.xrTableCell12.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell12.Text = "xrTableCell12";
|
||||
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell12.Weight = 0.868849379705082D;
|
||||
//
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrLabel7,
|
||||
this.xrLine1,
|
||||
this.xrRichText1,
|
||||
@@ -196,322 +196,319 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
this.xrTable3,
|
||||
this.xrLabel6,
|
||||
this.xrLabel2});
|
||||
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.ReportHeader.HeightF = 543.8749F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
this.ReportHeader.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel7
|
||||
//
|
||||
this.xrLabel7.Font = new System.Drawing.Font("Calibri", 6.5F);
|
||||
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 151.04F);
|
||||
this.xrLabel7.Name = "xrLabel7";
|
||||
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel7.SizeF = new System.Drawing.SizeF(317F, 17F);
|
||||
this.xrLabel7.StylePriority.UseFont = false;
|
||||
this.xrLabel7.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel7.Text = "SDG C.Geßner • Bahnhofstraße • 39288 Burg";
|
||||
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
//
|
||||
// xrLine1
|
||||
//
|
||||
this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 168.04F);
|
||||
this.xrLine1.Name = "xrLine1";
|
||||
this.xrLine1.SizeF = new System.Drawing.SizeF(317F, 10F);
|
||||
//
|
||||
// xrRichText1
|
||||
//
|
||||
this.xrRichText1.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(444F, 0F);
|
||||
this.xrRichText1.Name = "xrRichText1";
|
||||
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
|
||||
this.xrRichText1.SizeF = new System.Drawing.SizeF(268F, 220F);
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
this.ReportHeader.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.ReportHeader.HeightF = 543.8749F;
|
||||
this.ReportHeader.Name = "ReportHeader";
|
||||
this.ReportHeader.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrLabel7
|
||||
//
|
||||
this.xrLabel7.Font = new System.Drawing.Font("Calibri", 6.5F);
|
||||
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 151.04F);
|
||||
this.xrLabel7.Name = "xrLabel7";
|
||||
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel7.SizeF = new System.Drawing.SizeF(317F, 17F);
|
||||
this.xrLabel7.StylePriority.UseFont = false;
|
||||
this.xrLabel7.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel7.Text = "SDG C.Geßner • Bahnhofstraße 7 • 39288 Burg";
|
||||
this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
//
|
||||
// xrLine1
|
||||
//
|
||||
this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 168.04F);
|
||||
this.xrLine1.Name = "xrLine1";
|
||||
this.xrLine1.SizeF = new System.Drawing.SizeF(317F, 10F);
|
||||
//
|
||||
// xrRichText1
|
||||
//
|
||||
this.xrRichText1.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.xrRichText1.LocationFloat = new DevExpress.Utils.PointFloat(444F, 0F);
|
||||
this.xrRichText1.Name = "xrRichText1";
|
||||
this.xrRichText1.SerializableRtfString = resources.GetString("xrRichText1.SerializableRtfString");
|
||||
this.xrRichText1.SizeF = new System.Drawing.SizeF(268F, 220F);
|
||||
//
|
||||
// xrLabel1
|
||||
//
|
||||
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceDate")});
|
||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(444F, 253.2483F);
|
||||
this.xrLabel1.Name = "xrLabel1";
|
||||
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel1.SizeF = new System.Drawing.SizeF(198.1216F, 23.95834F);
|
||||
this.xrLabel1.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel1.Text = "xrLabel1";
|
||||
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// lblAddress
|
||||
//
|
||||
this.lblAddress.LocationFloat = new DevExpress.Utils.PointFloat(0F, 178.04F);
|
||||
this.lblAddress.Multiline = true;
|
||||
this.lblAddress.Name = "lblAddress";
|
||||
this.lblAddress.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblAddress.SizeF = new System.Drawing.SizeF(351.375F, 114.085F);
|
||||
this.lblAddress.StylePriority.UseFont = false;
|
||||
this.lblAddress.Text = "[RecipientOrganisation]\r\n[RecipientDivision]\r\n[RecipientFirstName] [RecipientLast" +
|
||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(444F, 253.2483F);
|
||||
this.xrLabel1.Name = "xrLabel1";
|
||||
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel1.SizeF = new System.Drawing.SizeF(198.1216F, 23.95834F);
|
||||
this.xrLabel1.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel1.Text = "xrLabel1";
|
||||
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||
//
|
||||
// lblAddress
|
||||
//
|
||||
this.lblAddress.LocationFloat = new DevExpress.Utils.PointFloat(0F, 178.04F);
|
||||
this.lblAddress.Multiline = true;
|
||||
this.lblAddress.Name = "lblAddress";
|
||||
this.lblAddress.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.lblAddress.SizeF = new System.Drawing.SizeF(351.375F, 114.085F);
|
||||
this.lblAddress.StylePriority.UseFont = false;
|
||||
this.lblAddress.Text = "[RecipientOrganisation]\r\n[RecipientDivision]\r\n[RecipientFirstName] [RecipientLast" +
|
||||
"Name]\r\n[RecipientStreet]\r\n[RecipientPostCode] [RecipientTown]";
|
||||
//
|
||||
// xrTable3
|
||||
//
|
||||
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 518.8749F);
|
||||
this.xrTable3.Name = "xrTable3";
|
||||
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
//
|
||||
// xrTable3
|
||||
//
|
||||
this.xrTable3.LocationFloat = new DevExpress.Utils.PointFloat(0F, 518.8749F);
|
||||
this.xrTable3.Name = "xrTable3";
|
||||
this.xrTable3.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow10});
|
||||
this.xrTable3.SizeF = new System.Drawing.SizeF(656.9999F, 25F);
|
||||
this.xrTable3.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow10
|
||||
//
|
||||
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTable3.SizeF = new System.Drawing.SizeF(656.9999F, 25F);
|
||||
this.xrTable3.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrTableRow10
|
||||
//
|
||||
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell15,
|
||||
this.xrTableCell17,
|
||||
this.xrTableCell18,
|
||||
this.xrTableCell19,
|
||||
this.xrTableCell20});
|
||||
this.xrTableRow10.Name = "xrTableRow10";
|
||||
this.xrTableRow10.Weight = 1D;
|
||||
//
|
||||
// xrTableCell15
|
||||
//
|
||||
this.xrTableCell15.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
this.xrTableRow10.Name = "xrTableRow10";
|
||||
this.xrTableRow10.Weight = 1D;
|
||||
//
|
||||
// xrTableCell15
|
||||
//
|
||||
this.xrTableCell15.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell15.Name = "xrTableCell15";
|
||||
this.xrTableCell15.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell15.StylePriority.UseBorders = false;
|
||||
this.xrTableCell15.StylePriority.UsePadding = false;
|
||||
this.xrTableCell15.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell15.Text = "Pos.";
|
||||
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell15.Weight = 0.75676999183534877D;
|
||||
//
|
||||
// xrTableCell17
|
||||
//
|
||||
this.xrTableCell17.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
this.xrTableCell15.Name = "xrTableCell15";
|
||||
this.xrTableCell15.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell15.StylePriority.UseBorders = false;
|
||||
this.xrTableCell15.StylePriority.UsePadding = false;
|
||||
this.xrTableCell15.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell15.Text = "Pos.";
|
||||
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell15.Weight = 0.75676999183534877D;
|
||||
//
|
||||
// xrTableCell17
|
||||
//
|
||||
this.xrTableCell17.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell17.Name = "xrTableCell17";
|
||||
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell17.StylePriority.UseBorders = false;
|
||||
this.xrTableCell17.StylePriority.UsePadding = false;
|
||||
this.xrTableCell17.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell17.Text = "Bezeichnung";
|
||||
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell17.Weight = 3.64676828141494D;
|
||||
//
|
||||
// xrTableCell18
|
||||
//
|
||||
this.xrTableCell18.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
this.xrTableCell17.Name = "xrTableCell17";
|
||||
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell17.StylePriority.UseBorders = false;
|
||||
this.xrTableCell17.StylePriority.UsePadding = false;
|
||||
this.xrTableCell17.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell17.Text = "Bezeichnung";
|
||||
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell17.Weight = 3.64676828141494D;
|
||||
//
|
||||
// xrTableCell18
|
||||
//
|
||||
this.xrTableCell18.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell18.Name = "xrTableCell18";
|
||||
this.xrTableCell18.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell18.StylePriority.UseBorders = false;
|
||||
this.xrTableCell18.StylePriority.UsePadding = false;
|
||||
this.xrTableCell18.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell18.Text = "Einzelpreis";
|
||||
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell18.Weight = 0.83099597349857446D;
|
||||
//
|
||||
// xrTableCell19
|
||||
//
|
||||
this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
this.xrTableCell18.Name = "xrTableCell18";
|
||||
this.xrTableCell18.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell18.StylePriority.UseBorders = false;
|
||||
this.xrTableCell18.StylePriority.UsePadding = false;
|
||||
this.xrTableCell18.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell18.Text = "Einzelpreis";
|
||||
this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell18.Weight = 0.83099597349857446D;
|
||||
//
|
||||
// xrTableCell19
|
||||
//
|
||||
this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell19.Name = "xrTableCell19";
|
||||
this.xrTableCell19.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell19.StylePriority.UseBorders = false;
|
||||
this.xrTableCell19.StylePriority.UsePadding = false;
|
||||
this.xrTableCell19.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell19.Text = "Anzahl";
|
||||
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell19.Weight = 0.56661576319449147D;
|
||||
//
|
||||
// xrTableCell20
|
||||
//
|
||||
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
this.xrTableCell19.Name = "xrTableCell19";
|
||||
this.xrTableCell19.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell19.StylePriority.UseBorders = false;
|
||||
this.xrTableCell19.StylePriority.UsePadding = false;
|
||||
this.xrTableCell19.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell19.Text = "Anzahl";
|
||||
this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell19.Weight = 0.56661576319449147D;
|
||||
//
|
||||
// xrTableCell20
|
||||
//
|
||||
this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell20.Name = "xrTableCell20";
|
||||
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell20.StylePriority.UseBorders = false;
|
||||
this.xrTableCell20.StylePriority.UsePadding = false;
|
||||
this.xrTableCell20.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell20.Text = "Betrag";
|
||||
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell20.Weight = 0.868849379705082D;
|
||||
//
|
||||
// xrLabel6
|
||||
//
|
||||
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 451.0417F);
|
||||
this.xrLabel6.Multiline = true;
|
||||
this.xrLabel6.Name = "xrLabel6";
|
||||
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(666.9999F, 50.33331F);
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.Text = "Sehr geehrte Damen und Herren,\r\n\r\n[Notice]";
|
||||
//
|
||||
// xrLabel2
|
||||
//
|
||||
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel2.CanShrink = true;
|
||||
this.xrLabel2.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 354.875F);
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 17F);
|
||||
this.xrLabel2.StylePriority.UseBackColor = false;
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]";
|
||||
this.xrLabel2.WordWrap = false;
|
||||
//
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
// ReportFooter
|
||||
//
|
||||
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTableCell20.Name = "xrTableCell20";
|
||||
this.xrTableCell20.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell20.StylePriority.UseBorders = false;
|
||||
this.xrTableCell20.StylePriority.UsePadding = false;
|
||||
this.xrTableCell20.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell20.Text = "Betrag";
|
||||
this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell20.Weight = 0.868849379705082D;
|
||||
//
|
||||
// xrLabel6
|
||||
//
|
||||
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(0F, 451.0417F);
|
||||
this.xrLabel6.Multiline = true;
|
||||
this.xrLabel6.Name = "xrLabel6";
|
||||
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(666.9999F, 50.33331F);
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.Text = "Sehr geehrte Damen und Herren,\r\n\r\n[Notice]";
|
||||
//
|
||||
// xrLabel2
|
||||
//
|
||||
this.xrLabel2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xrLabel2.CanShrink = true;
|
||||
this.xrLabel2.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 354.875F);
|
||||
this.xrLabel2.Name = "xrLabel2";
|
||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(650F, 17F);
|
||||
this.xrLabel2.StylePriority.UseBackColor = false;
|
||||
this.xrLabel2.StylePriority.UseFont = false;
|
||||
this.xrLabel2.Text = "Rechnung Nr. [InvoiceNumber]";
|
||||
this.xrLabel2.WordWrap = false;
|
||||
//
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
// ReportFooter
|
||||
//
|
||||
this.ReportFooter.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrRichText2});
|
||||
this.ReportFooter.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.ReportFooter.HeightF = 85F;
|
||||
this.ReportFooter.KeepTogether = true;
|
||||
this.ReportFooter.Name = "ReportFooter";
|
||||
this.ReportFooter.PrintAtBottom = true;
|
||||
this.ReportFooter.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrRichText2
|
||||
//
|
||||
this.xrRichText2.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.xrRichText2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrRichText2.Name = "xrRichText2";
|
||||
this.xrRichText2.SerializableRtfString = resources.GetString("xrRichText2.SerializableRtfString");
|
||||
this.xrRichText2.SizeF = new System.Drawing.SizeF(676.6664F, 85F);
|
||||
//
|
||||
// xrLabel10
|
||||
//
|
||||
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 148F);
|
||||
this.xrLabel10.Name = "xrLabel10";
|
||||
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel10.SizeF = new System.Drawing.SizeF(175F, 17F);
|
||||
this.xrLabel10.StylePriority.UseFont = false;
|
||||
this.xrLabel10.Text = "Mit freundlichen Grüßen";
|
||||
//
|
||||
// xrLabel12
|
||||
//
|
||||
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 223F);
|
||||
this.xrLabel12.Name = "xrLabel12";
|
||||
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel12.SizeF = new System.Drawing.SizeF(292F, 17.00002F);
|
||||
this.xrLabel12.StylePriority.UseFont = false;
|
||||
this.xrLabel12.Text = "[CreatorFirstName] [CreatorLastName]";
|
||||
//
|
||||
// xrTable4
|
||||
//
|
||||
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(570.5F, 0F);
|
||||
this.xrTable4.Name = "xrTable4";
|
||||
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.ReportFooter.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.ReportFooter.HeightF = 85F;
|
||||
this.ReportFooter.KeepTogether = true;
|
||||
this.ReportFooter.Name = "ReportFooter";
|
||||
this.ReportFooter.PrintAtBottom = true;
|
||||
this.ReportFooter.StylePriority.UseFont = false;
|
||||
//
|
||||
// xrRichText2
|
||||
//
|
||||
this.xrRichText2.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.xrRichText2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||
this.xrRichText2.Name = "xrRichText2";
|
||||
this.xrRichText2.SerializableRtfString = resources.GetString("xrRichText2.SerializableRtfString");
|
||||
this.xrRichText2.SizeF = new System.Drawing.SizeF(676.6664F, 85F);
|
||||
//
|
||||
// xrLabel10
|
||||
//
|
||||
this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(0F, 148F);
|
||||
this.xrLabel10.Name = "xrLabel10";
|
||||
this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel10.SizeF = new System.Drawing.SizeF(175F, 17F);
|
||||
this.xrLabel10.StylePriority.UseFont = false;
|
||||
this.xrLabel10.Text = "Mit freundlichen Grüßen";
|
||||
//
|
||||
// xrLabel12
|
||||
//
|
||||
this.xrLabel12.LocationFloat = new DevExpress.Utils.PointFloat(0F, 223F);
|
||||
this.xrLabel12.Name = "xrLabel12";
|
||||
this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel12.SizeF = new System.Drawing.SizeF(292F, 17.00002F);
|
||||
this.xrLabel12.StylePriority.UseFont = false;
|
||||
this.xrLabel12.Text = "[CreatorFirstName] [CreatorLastName]";
|
||||
//
|
||||
// xrTable4
|
||||
//
|
||||
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(570.5F, 0F);
|
||||
this.xrTable4.Name = "xrTable4";
|
||||
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow11});
|
||||
this.xrTable4.SizeF = new System.Drawing.SizeF(86.5F, 25F);
|
||||
//
|
||||
// xrTableRow11
|
||||
//
|
||||
this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTable4.SizeF = new System.Drawing.SizeF(86.5F, 25F);
|
||||
//
|
||||
// xrTableRow11
|
||||
//
|
||||
this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell23});
|
||||
this.xrTableRow11.Name = "xrTableRow11";
|
||||
this.xrTableRow11.Weight = 1D;
|
||||
//
|
||||
// xrTableCell23
|
||||
//
|
||||
this.xrTableCell23.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
this.xrTableRow11.Name = "xrTableRow11";
|
||||
this.xrTableRow11.Weight = 1D;
|
||||
//
|
||||
// xrTableCell23
|
||||
//
|
||||
this.xrTableCell23.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
|
||||
| DevExpress.XtraPrinting.BorderSide.Right)
|
||||
| DevExpress.XtraPrinting.BorderSide.Bottom)));
|
||||
this.xrTableCell23.BorderWidth = 2;
|
||||
this.xrTableCell23.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold);
|
||||
this.xrTableCell23.Name = "xrTableCell23";
|
||||
this.xrTableCell23.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell23.StylePriority.UseBorders = false;
|
||||
this.xrTableCell23.StylePriority.UseBorderWidth = false;
|
||||
this.xrTableCell23.StylePriority.UseFont = false;
|
||||
this.xrTableCell23.StylePriority.UsePadding = false;
|
||||
this.xrTableCell23.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell23.Text = "[TotalClaim]";
|
||||
this.xrTableCell23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell23.Weight = 2.9827586206896552D;
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.HeightF = 50F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
//
|
||||
// bottomMarginBand1
|
||||
//
|
||||
this.bottomMarginBand1.HeightF = 50F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
//
|
||||
// DetailReport
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.xrTableCell23.BorderWidth = 2F;
|
||||
this.xrTableCell23.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold);
|
||||
this.xrTableCell23.Name = "xrTableCell23";
|
||||
this.xrTableCell23.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 0, 0, 0, 100F);
|
||||
this.xrTableCell23.StylePriority.UseBorders = false;
|
||||
this.xrTableCell23.StylePriority.UseBorderWidth = false;
|
||||
this.xrTableCell23.StylePriority.UseFont = false;
|
||||
this.xrTableCell23.StylePriority.UsePadding = false;
|
||||
this.xrTableCell23.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell23.Text = "[TotalClaim]";
|
||||
this.xrTableCell23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell23.Weight = 2.9827586206896552D;
|
||||
//
|
||||
// topMarginBand1
|
||||
//
|
||||
this.topMarginBand1.HeightF = 50F;
|
||||
this.topMarginBand1.Name = "topMarginBand1";
|
||||
//
|
||||
// bottomMarginBand1
|
||||
//
|
||||
this.bottomMarginBand1.HeightF = 50F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
//
|
||||
// DetailReport
|
||||
//
|
||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail1});
|
||||
this.DetailReport.DataMember = "InvoiceItems";
|
||||
this.DetailReport.DataSource = this.bindingSource1;
|
||||
this.DetailReport.Level = 0;
|
||||
this.DetailReport.Name = "DetailReport";
|
||||
//
|
||||
// Detail1
|
||||
//
|
||||
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.DetailReport.DataMember = "InvoiceItems";
|
||||
this.DetailReport.DataSource = this.bindingSource1;
|
||||
this.DetailReport.Level = 0;
|
||||
this.DetailReport.Name = "DetailReport";
|
||||
//
|
||||
// Detail1
|
||||
//
|
||||
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable1});
|
||||
this.Detail1.Font = new System.Drawing.Font("Verdana", 9.75F);
|
||||
this.Detail1.HeightF = 25F;
|
||||
this.Detail1.Name = "Detail1";
|
||||
this.Detail1.StylePriority.UseFont = false;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.InvoiceCustomerRO);
|
||||
//
|
||||
// xrLabel9
|
||||
//
|
||||
this.xrLabel9.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Italic);
|
||||
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0.3336588F, 73.70828F);
|
||||
this.xrLabel9.Name = "xrLabel9";
|
||||
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel9.SizeF = new System.Drawing.SizeF(676.8332F, 17F);
|
||||
this.xrLabel9.StylePriority.UseFont = false;
|
||||
this.xrLabel9.Text = "Nicht umsatzsteuerpflichtig nach § 19 1 UStG";
|
||||
//
|
||||
// xrLabel4
|
||||
//
|
||||
this.xrLabel4.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43.49995F);
|
||||
this.xrLabel4.Name = "xrLabel4";
|
||||
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel4.SizeF = new System.Drawing.SizeF(676.8332F, 17F);
|
||||
this.xrLabel4.StylePriority.UseFont = false;
|
||||
this.xrLabel4.Text = "Der Gesamtbetrag ist ab Erhalt dieser Rechnung zahlbar innerhalb von 14 Tagen ohn" +
|
||||
this.Detail1.Font = new System.Drawing.Font("Verdana", 9.75F);
|
||||
this.Detail1.HeightF = 25F;
|
||||
this.Detail1.Name = "Detail1";
|
||||
this.Detail1.StylePriority.UseFont = false;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.InvoiceCustomerRO);
|
||||
//
|
||||
// xrLabel9
|
||||
//
|
||||
this.xrLabel9.Font = new System.Drawing.Font("Verdana", 10F, System.Drawing.FontStyle.Italic);
|
||||
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(0.3336588F, 73.70828F);
|
||||
this.xrLabel9.Name = "xrLabel9";
|
||||
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel9.SizeF = new System.Drawing.SizeF(676.8332F, 17F);
|
||||
this.xrLabel9.StylePriority.UseFont = false;
|
||||
this.xrLabel9.Text = "Nicht umsatzsteuerpflichtig nach § 19 1 UStG";
|
||||
//
|
||||
// xrLabel4
|
||||
//
|
||||
this.xrLabel4.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 43.49995F);
|
||||
this.xrLabel4.Name = "xrLabel4";
|
||||
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrLabel4.SizeF = new System.Drawing.SizeF(676.8332F, 17F);
|
||||
this.xrLabel4.StylePriority.UseFont = false;
|
||||
this.xrLabel4.Text = "Der Gesamtbetrag ist ab Erhalt dieser Rechnung zahlbar innerhalb von 14 Tagen ohn" +
|
||||
"e Abzug.";
|
||||
//
|
||||
// GroupFooter2
|
||||
//
|
||||
this.GroupFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
//
|
||||
// GroupFooter2
|
||||
//
|
||||
this.GroupFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
this.xrTable4,
|
||||
this.xrLabel12,
|
||||
this.xrLabel10,
|
||||
this.xrLabel9,
|
||||
this.xrLabel4});
|
||||
this.GroupFooter2.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.GroupFooter2.HeightF = 240F;
|
||||
this.GroupFooter2.Name = "GroupFooter2";
|
||||
this.GroupFooter2.StylePriority.UseFont = false;
|
||||
//
|
||||
// InvoiceCustomerReport
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.GroupFooter2.Font = new System.Drawing.Font("Verdana", 10F);
|
||||
this.GroupFooter2.HeightF = 240F;
|
||||
this.GroupFooter2.Name = "GroupFooter2";
|
||||
this.GroupFooter2.StylePriority.UseFont = false;
|
||||
//
|
||||
// InvoiceCustomerReport
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
this.Detail,
|
||||
this.ReportHeader,
|
||||
this.ReportFooter,
|
||||
@@ -519,22 +516,22 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
this.bottomMarginBand1,
|
||||
this.DetailReport,
|
||||
this.GroupFooter2});
|
||||
this.DataSource = this.bindingSource1;
|
||||
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
|
||||
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
|
||||
this.DataSource = this.bindingSource1;
|
||||
this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung";
|
||||
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
|
||||
this.ruleRateFactorNull});
|
||||
this.Margins = new System.Drawing.Printing.Margins(75, 40, 50, 50);
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||
this.Version = "13.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
this.Margins = new System.Drawing.Printing.Margins(75, 40, 50, 50);
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -95,9 +95,6 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
@@ -151,7 +148,7 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(317F, 17F);
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel6.Text = "SDG C.Geßner • Bahnhofstraße • 39288 Burg";
|
||||
this.xrLabel6.Text = "SDG C.Geßner • Bahnhofstraße 7 • 39288 Burg";
|
||||
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
//
|
||||
// xrLabel7
|
||||
@@ -525,7 +522,7 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||
this.Version = "13.1";
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
|
||||
@@ -95,9 +95,6 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
// ruleRateFactorNull
|
||||
//
|
||||
this.ruleRateFactorNull.Condition = "[RateFactorText2] == ?";
|
||||
//
|
||||
//
|
||||
//
|
||||
this.ruleRateFactorNull.Formatting.Visible = DevExpress.Utils.DefaultBoolean.False;
|
||||
this.ruleRateFactorNull.Name = "ruleRateFactorNull";
|
||||
//
|
||||
@@ -151,7 +148,7 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(317F, 17F);
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel6.Text = "SDG C.Geßner • Bahnhofstraße • 39288 Burg";
|
||||
this.xrLabel6.Text = "SDG C.Geßner • Bahnhofstraße 7 • 39288 Burg";
|
||||
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
//
|
||||
// xrLabel7
|
||||
@@ -521,7 +518,7 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
this.PageHeight = 1169;
|
||||
this.PageWidth = 827;
|
||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||
this.Version = "13.1";
|
||||
this.Version = "17.1";
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
|
||||
|
||||
@@ -148,7 +148,7 @@ namespace SozialeDienstleistungenGessnerReports
|
||||
this.xrLabel6.SizeF = new System.Drawing.SizeF(317F, 17F);
|
||||
this.xrLabel6.StylePriority.UseFont = false;
|
||||
this.xrLabel6.StylePriority.UseTextAlignment = false;
|
||||
this.xrLabel6.Text = "SDG C.Geßner • Bahnhofstraße • 39288 Burg";
|
||||
this.xrLabel6.Text = "SDG C.Geßner • Bahnhofstraße 7 • 39288 Burg";
|
||||
this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
//
|
||||
// xrLabel7
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,9 @@ using System.ComponentModel;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Report;
|
||||
|
||||
using BS.Shared.Extensions;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace BeWo.SprungbrettReports
|
||||
{
|
||||
public partial class SpitzabrechnungSeite2 : DevExpress.XtraReports.UI.XtraReport //, IBeWoReport<SettlementRO>
|
||||
@@ -16,8 +18,30 @@ namespace BeWo.SprungbrettReports
|
||||
}
|
||||
|
||||
public void SetReportDataSource(SettlementRO pRO)
|
||||
{
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
{
|
||||
foreach (var ii in pRO.InvoiceItems)
|
||||
{
|
||||
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} - {1:dd.MM.yyyy}: {2:0.00} FLS x {3:c}", ii.ItemPeriodStart,
|
||||
ii.ItemPeriodEnd, ii.UnitCount, ii.AmountPerUnit);
|
||||
ii.UnitDescription = "Fachleistungen";
|
||||
|
||||
if (!pRO.FehlkontakteString.IsNullOrEmpty() && ii.RateFactor == 0)
|
||||
{
|
||||
|
||||
Zwischensumme.Visible = true;
|
||||
if (!ii.ItemDescription.IsNullOrEmpty())
|
||||
{
|
||||
// quick and dirty, solange LWL und LVR anders rechnen
|
||||
ii.UnitCount = ii.UnitCount / 80 * 100;
|
||||
ii.AmountPerUnit = ii.AmountPerUnit * 80 / 100;
|
||||
ii.ItemDescription = String.Format("{0:dd.MM.yyyy} - {1:dd.MM.yyyy}: {2:0.00} h x {3:c}", ii.ItemPeriodStart,
|
||||
ii.ItemPeriodEnd, ii.UnitCount, ii.AmountPerUnit);
|
||||
}
|
||||
ii.UnitDescription = "Fehlkontakte";
|
||||
}
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -117,7 +117,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "4271389563"; // Komm Mit
|
||||
//t = "5430005891"; // Marienhospital Eickel
|
||||
//t = "3265049248"; // Gerdas Pflegedienst
|
||||
t = "1549622397"; // Kontakt und Krisenhilfe
|
||||
//t = "1549622397"; // Kontakt und Krisenhilfe
|
||||
//t = "4782194565"; // Skm Rheydt
|
||||
//t = "7535795843"; // Sozialwerk Dürener Christen
|
||||
//t = "6388340414"; // Weitblick
|
||||
@@ -195,7 +195,7 @@ namespace BeWo.Service.Plugins
|
||||
//t = "9556218062"; // Diakonie Landshut
|
||||
//t = "2279593936"; // Diakonie Mülheim
|
||||
//t = "3623837005"; // Betreuwo Wesel
|
||||
t = "8407321888"; // AWO Wesel
|
||||
//t = "8407321888"; // AWO Wesel
|
||||
//t = "8454426692"; // Mit-Menschen Wuppertal
|
||||
//t = "0629004412"; // BeWo-Colonia Basaran (Projekt
|
||||
//t = "7668701607"; // Wohnstätten Essen
|
||||
|
||||
@@ -1,15 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BeWo.Data;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
using BeWo.Service.DCEntityMapper;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.Extensions;
|
||||
using NHibernate.Util;
|
||||
|
||||
namespace BeWo.Service.Plugins
|
||||
{
|
||||
@@ -34,77 +29,9 @@ namespace BeWo.Service.Plugins
|
||||
return list;
|
||||
}
|
||||
|
||||
public virtual Dictionary<string, List<string>> CheckResourceAvailabilityWithBookingEmployees(DateTime start, DateTime end, List<long> resourceOids, long? selectedAppointmentOid)
|
||||
public virtual Dictionary<string, List<string>> CheckResourceAvailabilityWithBookingEmployees(DateTime start, DateTime end, List<long> resourceOids, long? selectedAppointmentOid, Guid? recurrenceId, int occurrenceIndex = 0, bool shouldSkipResourceAvailability = false)
|
||||
{
|
||||
var appointments = DAOFactory.SearchDAO.FindAppointmentsByResourcesInInterval(resourceOids, start, end, selectedAppointmentOid);
|
||||
|
||||
var user = LoggedInUserOperationContextExt.Current?.User ?? SessionFacade.LoggedInUser;
|
||||
|
||||
var result = new Dictionary<string, List<string>>();
|
||||
|
||||
if(user is null)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
var loggedInEmployee = user.Employee;
|
||||
|
||||
var hasRightToViewEmployeeAppointments = user.CheckForRight(UserRightType.KalenderMitarbeitertermineAnsehen);
|
||||
var hasRightToViewResourceAppointments = user.CheckForRight(UserRightType.KalenderRessourcentermineAnsehen);
|
||||
|
||||
var dictionary = new Dictionary<Resource, List<SchedulerAppointment>>();
|
||||
|
||||
foreach(var appointment in appointments)
|
||||
{
|
||||
foreach(var resource in appointment.ResourceList)
|
||||
{
|
||||
dictionary.AddOrUpdateValueInDictionary(resource, appointment);
|
||||
}
|
||||
}
|
||||
|
||||
foreach(var resource2Appointments in dictionary)
|
||||
{
|
||||
foreach(var appointment in resource2Appointments.Value)
|
||||
{
|
||||
var originator = appointment.Originator;
|
||||
var employee2Appointments = appointment.EmployeeList;
|
||||
|
||||
var isOwnAppointment = (originator?.Equals(loggedInEmployee) ?? false) || employee2Appointments.ToList().Any(e2a => e2a.Employee.Equals(loggedInEmployee));
|
||||
|
||||
// Wenn isOwnAppointment true ist, darf der Benutzer die Uhrzeiten und die Mitarbeiter sehen. Ansonsten müssen die Rechte geprüft werden.
|
||||
if(isOwnAppointment || hasRightToViewEmployeeAppointments) // Es werden Zeit und Mitarbeiter angezeigt
|
||||
{
|
||||
result.AddOrUpdateValueInDictionary(resource2Appointments.Key.Name, $"{CreateDateTimeInfoFromAppointment(appointment.StartDate, appointment.EndDate, appointment.AllDay)} von {originator}");
|
||||
}
|
||||
else if(hasRightToViewResourceAppointments && !hasRightToViewEmployeeAppointments) // Nur die Uhrzeit anzeigen
|
||||
{
|
||||
result.AddOrUpdateValueInDictionary(resource2Appointments.Key.Name, $"{CreateDateTimeInfoFromAppointment(appointment.StartDate, appointment.EndDate, appointment.AllDay)}");
|
||||
}
|
||||
else if(!hasRightToViewEmployeeAppointments) // Es werden weder Zeit noch Mitarbeiter angezeigt
|
||||
{
|
||||
result.AddOrUpdateValueInDictionary(resource2Appointments.Key.Name, string.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private string CreateDateTimeInfoFromAppointment(DateTime? start, DateTime? end, bool allDay)
|
||||
{
|
||||
if(start.HasValue && end.HasValue)
|
||||
{
|
||||
return start.Value.Date == end.Value.Date ?
|
||||
$"{start.Value.ToShortTimeString()} - {end.Value.ToShortTimeString()} " :
|
||||
$"{start.Value:dd.MM.yyyy HH:mm} - {end.Value:dd.MM.yyyy HH:mm} ";
|
||||
}
|
||||
|
||||
if(allDay && start.HasValue && end.HasValue)
|
||||
{
|
||||
return start.Value.Date == end.Value.Date ? " " : $"{start.Value.ToShortDateString()} - {end.Value.ToShortDateString()} ";
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
return DAOFactory.SearchDAO.CheckResourceAvailabilityWithEmployeeInformation(start, end, resourceOids, selectedAppointmentOid, recurrenceId, occurrenceIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,6 +243,6 @@ namespace BeWo.Service.ServiceContracts
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
Dictionary<string, List<string>> CheckResourceAvailabilityWithEmployeeInformation(DateTime start, DateTime end, List<long> resourceOids, long? selectedAppointmentOid);
|
||||
Dictionary<string, List<string>> CheckResourceAvailabilityWithEmployeeInformation(DateTime start, DateTime end, List<long> resourceOids, long? selectedAppointmentOid, Guid? recurrenceId, int occurrenceIndex = 0, bool shouldSkipResourceAvailability = false);
|
||||
}
|
||||
}
|
||||
@@ -2712,13 +2712,13 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<string, List<string>> CheckResourceAvailabilityWithEmployeeInformation(DateTime start, DateTime end, List<long> resourceOids, long? selectedAppointmentOid)
|
||||
public Dictionary<string, List<string>> CheckResourceAvailabilityWithEmployeeInformation(DateTime start, DateTime end, List<long> resourceOids, long? selectedAppointmentOid, Guid? recurrenceId, int occurrenceIndex = 0, bool shouldSkipResourceAvailability = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var s = PluginLoader.FindClass<ResourceService>();
|
||||
|
||||
return s.CheckResourceAvailabilityWithBookingEmployees(start, end, resourceOids, selectedAppointmentOid);
|
||||
return s.CheckResourceAvailabilityWithBookingEmployees(start, end, resourceOids, selectedAppointmentOid, recurrenceId, occurrenceIndex, shouldSkipResourceAvailability);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user