From 9f32ac48e5f164d4353d67a3fd94ba5e3f0b7e4a Mon Sep 17 00:00:00 2001 From: Lyndon Jetten Date: Thu, 14 Jan 2021 16:30:28 +0100 Subject: [PATCH] Mobilklient: - Aufgaben werden nicht mehr doppelt angezeigt - Erledigte Aufgaben werden nicht mehr angezeigt - Die Meldung bei bereits belegten Ressourcen ist wieder sichtbar --- .../Controllers/DevelopmentController.cs | 102 ++++++++++++++---- BeWoPlanerMobil/Controllers/MainController.cs | 2 +- .../Controllers/ReportController.cs | 96 +++++++++++++++-- .../Controllers/SchedulerController.cs | 5 +- BeWoPlanerMobil/Models/AbstractModel.cs | 7 +- BeWoPlanerMobil/Models/ReportModel.cs | 31 ++---- .../Scripts/view-scripts/report.js | 48 +++++---- .../Scripts/view-scripts/scheduler.js | 17 ++- .../Views/Development/Development.cshtml | 23 +++- BeWoPlanerMobil/Views/Report/Report.cshtml | 24 +++-- Data/Access/SearchDAO.cs | 77 +++++++++++++ Report/DefaultReports/Quittierungsbeleg.cs | 5 + ...dulerAppointmentDC_SchedulerAppointment.cs | 22 ++-- .../ServiceContracts/IOperationsService.cs | 3 + Service/ServiceContracts/IResourceService.cs | 4 + .../OperationsServiceImp.cs | 14 ++- .../ResourceServiceImp.cs | 9 +- .../DataContracts/SchedulerAppointmentDC.cs | 12 +-- 18 files changed, 385 insertions(+), 116 deletions(-) diff --git a/BeWoPlanerMobil/Controllers/DevelopmentController.cs b/BeWoPlanerMobil/Controllers/DevelopmentController.cs index 455b2665f..13558febb 100644 --- a/BeWoPlanerMobil/Controllers/DevelopmentController.cs +++ b/BeWoPlanerMobil/Controllers/DevelopmentController.cs @@ -64,6 +64,7 @@ namespace BeWoPlanerMobil.Controllers return RedirectToActionPermanent("Index", "Login"); } + #region Rechte // 1. Universalrechte var universalRechteGroup = new UserRightGroup("Universalrechte", new Dictionary { @@ -413,7 +414,7 @@ namespace BeWoPlanerMobil.Controllers Model.UserRightGroups.Add(sonstigeRightGroup); Model.UserRightGroups = Model.UserRightGroups.OrderBy(urg => urg.UserRightTypes.Keys.Count).ToList(); - + #endregion // Verfügbare Ressourcen für die Termine var allResources = KalenderService.GetAllResources().ToList(); @@ -429,6 +430,8 @@ namespace BeWoPlanerMobil.Controllers Model.AllEmployees = EmployeeService.GetAllActiveEmployeesCompact(); + Model.AllCustomers = CustomerService.GetAllActiveCompactCustomers(); + return View(Model); } @@ -537,6 +540,8 @@ namespace BeWoPlanerMobil.Controllers _IntervalStart = start; + _AppointmentStart = _IntervalStart.MergeDatesByDate(new DateTime(2000, 1, 1, 6, 0, 0)); + // Keine Mitarbeiter, Ressourcen und Klienten ausgewählt -> nur Einzeltermine erstellen /* * Nur Originator (4): @@ -555,14 +560,6 @@ namespace BeWoPlanerMobil.Controllers * Originator und Mitarbeiter und Ressourcen und Klienten (4) * * TODO: Datumsangaben für die Termine bestimmen. Mindestintervall bestimmen - * Jeweils eine Stunde lang - * - * Einzeltermine: - * S 08:00 - 09:00 - * S 09:30 - 10:30 - * S 11:00 - 12:00 - * S 12:30 - 13:30 - * */ var app1 = CreateTestAppointment("Normaler Termin", originator); @@ -615,25 +612,79 @@ namespace BeWoPlanerMobil.Controllers appointments.AddRange(onlyCustomerAppointments); } - appointments.AddRange(CreateEmployeeAndResourceAppointments(originator)); - + // Terrmin mit angemeldetem Mitarbeiter, anderen Mitarbeitern und Ressourcen if(Model.SelectedEmployees.Count > 0 && Model.SelectedResources.Count > 0) { appointments.AddRange(CreateEmployeeAndResourceAppointments(originator)); } - /* - * Originator und Mitarbeiter und Ressourcen (4) - * Originator und Mitarbeiter und Klienten (4) - * Originator und Ressourcen und Klienten (4) - * Originator und Mitarbeiter und Ressourcen und Klienten (4) - */ + // Termine mit angemeldetem Mitarbeiter, Klienten und Mitarbeitern + if(Model.SelectedEmployees.Count > 0 && Model.SelectedCustomers.Count > 0) + { + appointments.AddRange(CreateEmployeeAndCustomerAppointments(originator)); + } - //KalenderService.InsertSchedulerAppointments(appointments); + // Termine mit angemeldetem Mitarbeiter, Ressourcen und Klienten + if(Model.SelectedResources.Count > 0 && Model.SelectedCustomers.Count > 0) + { + appointments.AddRange(CreateResourceAndCustomerAppointments(originator)); + } + + // Termine mit angemeldetem Mitarbeiter mit anderen Mitarbeitern, Klienten und Ressourcen + if(Model.SelectedEmployees.Count > 0 && Model.SelectedResources.Count > 0 && Model.SelectedCustomers.Count > 0) + { + appointments.AddRange(CreateResourceAndCustomerAndEmployeeAppointments(originator)); + } + + KalenderService.InsertSchedulerAppointments(appointments); return View("Development", Model); } + private IEnumerable CreateResourceAndCustomerAndEmployeeAppointments(CompactEmployeeDC originator) + { + if(Model == null || Model?.SelectedResources?.Count == 0 || Model?.SelectedCustomers?.Count == 0 || Model?.SelectedEmployees?.Count == 0) + { + return new List(); + } + + var a1 = CreateTestAppointment("Termin mit Mitarbeitern, Ressourcen und Klienten", originator); + var a2 = CreateTestAppointment("Privater Termin mit Mitarbeitern, Ressourcen und Klienten", originator, true); + var a3 = CreateTestAppointment("Ganztägiger Termin mit Mitarbeitern, Ressourcen und Klienten", originator, false, true); + var a4 = CreateTestAppointment("Ganztätiger, privater Termin mit Mitarbeitern, Ressourcen und Klienten", originator, true, true); + + var result = new List { a1, a2, a3, a4 }; + + AddResourcesToAppointments(result); + + AddCustomersToAppointments(result); + + AddEmployeesToAppointments(result); + + return result; + } + + private IEnumerable CreateResourceAndCustomerAppointments(CompactEmployeeDC originator) + { + if(Model == null || Model?.SelectedResources?.Count == 0 || Model?.SelectedCustomers?.Count == 0) + { + return new List(); + } + + var a1 = CreateTestAppointment("Termin mit Ressourcen und Klienten", originator); + var a2 = CreateTestAppointment("Privater Termin mit Ressourcen und Klienten", originator, true); + var a3 = CreateTestAppointment("Ganztägiger Termin mit Ressourcen und Klienten", originator, false, true); + var a4 = CreateTestAppointment("Ganztätiger, privater Termin mit Ressourcen und Klienten", originator, true, true); + + var result = new List { a1, a2, a3, a4 }; + + AddResourcesToAppointments(result); + + AddCustomersToAppointments(result); + + return result; + } + private IEnumerable CreateEmployeeAndResourceAppointments(CompactEmployeeDC originator) { if(Model == null || Model?.SelectedResources?.Count == 0 || Model?.SelectedEmployees?.Count == 0) @@ -709,7 +760,8 @@ namespace BeWoPlanerMobil.Controllers } private static DateTime _IntervalStart; - private static DateTime _AppointmentStart = DateTime.Today.MergeDatesByDate(new DateTime(2000, 1, 1, 6, 0, 0)); + + private static DateTime _AppointmentStart; private static AppointmentDates CalcAppointmentDates(int minHour = 5, int maxHour = 23) { @@ -747,7 +799,8 @@ namespace BeWoPlanerMobil.Controllers Location = "Kölle", Originator = originator, IsPrivate = isPrivate, - AllDay = isAllDay + AllDay = isAllDay, + ActivationType = ActivationTypeId.Active }; } @@ -794,6 +847,15 @@ namespace BeWoPlanerMobil.Controllers return JsonConvert.SerializeObject(Model.SelectedCustomers.Count); } + + [Authorize] + [HttpPost] + public ActionResult DeleteTestAppointments() + { + KalenderService.DeleteMobileTestAppointments(); + + return RedirectToActionPermanent("Development"); + } } public class UserRightGroup diff --git a/BeWoPlanerMobil/Controllers/MainController.cs b/BeWoPlanerMobil/Controllers/MainController.cs index 31437b12e..bebecd9c8 100644 --- a/BeWoPlanerMobil/Controllers/MainController.cs +++ b/BeWoPlanerMobil/Controllers/MainController.cs @@ -2083,7 +2083,7 @@ namespace BeWoPlanerMobil.Controllers [Authorize] public ActionResult RedirectToReportView() { - return AbstractModel.IsAllowedToSeeBills ? RedirectToActionPermanent("Report", "Report") : RedirectToMain(); + return AbstractModel.IsAllowedToSeeBills ? RedirectToActionPermanent("InitReports", "Report") : RedirectToMain(); } public ActionResult RedirectToMain() diff --git a/BeWoPlanerMobil/Controllers/ReportController.cs b/BeWoPlanerMobil/Controllers/ReportController.cs index 81e635b05..3ced98cda 100644 --- a/BeWoPlanerMobil/Controllers/ReportController.cs +++ b/BeWoPlanerMobil/Controllers/ReportController.cs @@ -31,7 +31,7 @@ namespace BeWoPlanerMobil.Controllers * TODO: * TODO: Rechte: * TODO: - * TODO: + * TODO: Für das Standartdatum den ersten des letzten Monats nehmen ✓ * * */ @@ -77,6 +77,35 @@ namespace BeWoPlanerMobil.Controllers return RedirectToActionPermanent("Main", "Main"); } + // Damit das Standartdatum beim allerersten Aufruf gesetzt werden kann, gibt es die InitReports-Methode + + return View(Model); + } + + [Authorize] + public ActionResult InitReports() + { + if(!MobileSessionFacade.IsUserLoggedIn() || Request.Browser.Browser.Equals("InternetExplorer") || !AbstractModel.IsAllowedToSeeScheduler) + { + return Logout(); + } + + if(!AbstractModel.IsAllowedToSeeBills) + { + return RedirectToActionPermanent("Main", "Main"); + } + + var month = DateTime.Today.Month; + var year = DateTime.Today.Year; + + var first = new DateTime(year, month, 1).AddMonths(-1); + var last = first.AddMonths(1).AddDays(-1); + + Model.SelectedYear = first.Year; + Model.SelectedMonth = first.Month; + Model.SelectedStartDay = first.Day; + Model.SelectedEndDay = last.Day; + var filterEnums = Enum.GetValues(typeof(QBFilterEnum)).Cast(); Model.QbFilters.Clear(); @@ -93,10 +122,10 @@ namespace BeWoPlanerMobil.Controllers Model.Organisations = CustomerService.GetAllCostBearerCompact(); Model.Organisations.Sort((x, y) => x.Name.CompareTo(y.Name)); - + Model.AllTeams = EmployeeService.GetAllActiveCompactTeamsForEmployee(MobileSessionFacade.LoggedInEmployee.EmployeeOid); - return View(Model); + return View("Report", Model); } [Authorize] @@ -250,10 +279,10 @@ namespace BeWoPlanerMobil.Controllers stringBuilder.Append(Model.SelectedServiceCategory.Name); } - var month = Model.SelectedMonth; + var month = Model.SelectedMonth < 10 ? $"0{Model.SelectedMonth}" : Model.SelectedMonth.ToString(); var year = Model.SelectedYear; - var vom = Model.SelectedStartDay; - var bis = Model.SelectedEndDay; + var vom = Model.SelectedStartDay < 10 ? $"0{Model.SelectedStartDay}" : Model.SelectedStartDay.ToString(); + var bis = Model.SelectedEndDay < 10 ? $"0{Model.SelectedEndDay}" : Model.SelectedEndDay.ToString(); stringBuilder.Append($"vom {vom}.{month}. bis {bis}.{month}.{year}"); @@ -350,24 +379,69 @@ namespace BeWoPlanerMobil.Controllers } [Authorize] - public string CheckForEmployeeSignature(string customerOidString, string monthString, string yearString, string startDayString, string endDayString) + public string CheckForEmployeeSignature(string customerOidString, string monthString, string yearString, string startDayString, string endDayString, string costbearerOidString, string employeeOidString, string serviceCategoryOidString) { if(Model?.Employee?.EmployeeOid == null) { Logout(); } + // TODO: Auswahl beachten + /* + * Methode im SearchDAO anpassen an Kostenträger, Leistungskategorie, Mitarbeiter, Team + */ + var isParsingSuccessful1 = long.TryParse(customerOidString, out var customerOid); var isParsingSuccessful2 = int.TryParse(monthString, out var month); var isParsingSuccessful3 = int.TryParse(yearString, out var year); var isParsingSuccessful4 = int.TryParse(startDayString, out var startDay); var isParsingSuccessful5 = int.TryParse(endDayString, out var endDay); - if(isParsingSuccessful1 && isParsingSuccessful2 && isParsingSuccessful3 && isParsingSuccessful4 && isParsingSuccessful5 && year > 0) - { - var hasSignature = OperationsService.HasConfirmationReceiptSignatureByDateAndCustomer(customerOid, new DateTimeSpan(new DateTime(year, month, startDay), new DateTime(year, month, endDay))); + long.TryParse(costbearerOidString, out var organisationOid); + long.TryParse(employeeOidString, out var employeeOid); + long.TryParse(serviceCategoryOidString, out var serviceCategoryOid); - return MobileUtils.SerializeObject(hasSignature); + var customerOids = new List(); + + if(Model.SelectedFilterItem != null) + { + switch(Model.SelectedFilterItem.FilterEnum) + { + case QBFilterEnum.AlleKlienten: + customerOids = EmployeeService.GetActiveCompactCustomersForEmployee(Model.Employee.EmployeeOid).Select(s => s.CustomerOid).ToList(); + break; + case QBFilterEnum.NurKlientenMeinesTeams: + customerOids = GetTeamCustomerOids().ToList(); + break; + case QBFilterEnum.MeineKlienten: + customerOids = DefaultReportCreator.GetMeineKlientenOids().ToList(); + break; + case QBFilterEnum.KlientenAuswahl: + customerOids = new List {customerOid}; + break; + case QBFilterEnum.TeamAuswahl: + break; + } + } + + long? costbearerOid = null; + if(organisationOid > 0) + { + var organisation = Model.Organisations.FirstOrDefault(o => o.OrganisationOid.Equals(organisationOid)); + costbearerOid = organisation?.CostBearerOid; + } + + //if(isParsingSuccessful1 && isParsingSuccessful2 && isParsingSuccessful3 && isParsingSuccessful4 && isParsingSuccessful5 && year > 0) + if(isParsingSuccessful2 && isParsingSuccessful3 && isParsingSuccessful4 && isParsingSuccessful5 && year > 0) + { + var theTimeSpan = new DateTimeSpan(new DateTime(year, month, startDay), new DateTime(year, month, endDay)); + + //var hasSignature = OperationsService.HasConfirmationReceiptSignatureByDateAndCustomer(customerOid, theTimeSpan); + + var test = OperationsService.HasConfirmationReceiptSignature(customerOids, employeeOid == 0 ? null : (long?) employeeOid, costbearerOid, serviceCategoryOid == 0 ? null : (long?) serviceCategoryOid, theTimeSpan); + + //return MobileUtils.SerializeObject(hasSignature); + return MobileUtils.SerializeObject(false); } return _LeerzeichenFuerGetMethoden; diff --git a/BeWoPlanerMobil/Controllers/SchedulerController.cs b/BeWoPlanerMobil/Controllers/SchedulerController.cs index 68e941a83..8a46c31cf 100644 --- a/BeWoPlanerMobil/Controllers/SchedulerController.cs +++ b/BeWoPlanerMobil/Controllers/SchedulerController.cs @@ -7,6 +7,7 @@ using System.Web.Mvc; using BeWoPlanerMobil.Models; using BeWoPlanerMobil.Service; using BeWoPlanerMobil.Util; +using BS.Shared; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; using BS.Shared.Extensions; @@ -85,7 +86,7 @@ namespace BeWoPlanerMobil.Controllers var tasks = appointments.Where(w => w.IsTask).ToList(); - var zuErledigen = tasks.Where(t => t.DueDate.HasValue && t.DueDate.Value.Date >= DateTime.Today); + var zuErledigen = tasks.Where(t => t.DueDate.HasValue && t.DueDate.Value.Date >= DateTime.Today && !t.CompletedDate.HasValue); // Nur eigene Kliententermine ansehen if(!AbstractModel.HasRightToSeeAllCustomerAppointments) @@ -104,6 +105,7 @@ namespace BeWoPlanerMobil.Controllers } var holySweetFlyingFuck = appointments.Where(w => + w.IsTask == false && w.StartDate.HasValue && w.EndDate.HasValue && ((date.InBetween(w.StartDate.Value, w.EndDate.Value, false) || date.CompareShortDates(w.StartDate.Value)) && w.RecurrenceInfo == null || @@ -225,6 +227,7 @@ namespace BeWoPlanerMobil.Controllers appointmentToInsert.Description = notice; appointmentToInsert.Originator = MobileSessionFacade.LoggedInCompactEmployee; appointmentToInsert.Location = location; + appointmentToInsert.ActivationType = ActivationTypeId.Active; if (!isNew) { diff --git a/BeWoPlanerMobil/Models/AbstractModel.cs b/BeWoPlanerMobil/Models/AbstractModel.cs index 328b7ff67..acb0d5134 100644 --- a/BeWoPlanerMobil/Models/AbstractModel.cs +++ b/BeWoPlanerMobil/Models/AbstractModel.cs @@ -41,14 +41,15 @@ namespace BeWoPlanerMobil.Models { get { - // TODO: Wieder einkommentieren - return false; - +#if DEBUG var mandator = new MobileSessionFacade().OperationsService.GetMandator(); var showEmployeeSignatureSetting = MobileUtils.GetSettingValue(mandator.Settings, "ShowEmployeeSignature"); return MobileSessionFacade.CheckForUserRight(UserRightType.Analysis_ServiceOverview_View) && showEmployeeSignatureSetting != null && showEmployeeSignatureSetting.Equals("1"); +#endif + + return false; } } diff --git a/BeWoPlanerMobil/Models/ReportModel.cs b/BeWoPlanerMobil/Models/ReportModel.cs index 591f07018..452d5525c 100644 --- a/BeWoPlanerMobil/Models/ReportModel.cs +++ b/BeWoPlanerMobil/Models/ReportModel.cs @@ -2,11 +2,8 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; -using System.Text; using System.Web.Mvc; -using BeWoPlanerMobil.Util; using BeWoPlanerMobil.Util.ReportUtils; -using BS.Shared; using BS.Shared.Core; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; @@ -35,11 +32,9 @@ namespace BeWoPlanerMobil.Models } } - [Display(Name = "Monat")] - public int SelectedMonth { get; set; } + [Display(Name = "Monat")] public int SelectedMonth { get; set; } = 1; - [Display(Name = "Jahr")] - public int SelectedYear { get; set; } + [Display(Name = "Jahr")] public int SelectedYear { get; set; } = 2021; public List Months { @@ -85,16 +80,12 @@ namespace BeWoPlanerMobil.Models { var result = new List(); - // Index - var m = SelectedMonth; - var y = SelectedYear; - - var year = int.Parse(Years[y].Value); - var month = int.Parse(Months[m].Value); + var month = SelectedMonth; + var year = SelectedYear; var last = new DateTime(year, month, 1).AddMonths(1).AddDays(-1).Day; - for(var i = 0; i <= last; i++) + for(var i = 1; i <= last; i++) { result.Add(new SelectListItem { @@ -114,9 +105,8 @@ namespace BeWoPlanerMobil.Models public int SelectedEndDay { get; set; } public ConfirmationReceiptObject ConfirmationReceiptObject { get; set; } - - - [Display(Name="Mitarbeiter")] + + [Display(Name = "Mitarbeiter")] public long? SelectedEmployeeOid => SelectedEmployee?.EmployeeOid; public CompactEmployeeDC SelectedEmployee { get; set; } @@ -141,8 +131,7 @@ namespace BeWoPlanerMobil.Models return result; } } - - + [Display(Name="Kostenträger")] public long? SelectedOrganisationOid => SelectedOrganisation?.OrganisationOid; @@ -169,7 +158,6 @@ namespace BeWoPlanerMobil.Models } } - [Display(Name="Leistungskategorie")] public long? SelectedServiceCategoryOid => SelectedServiceCategory?.ServiceCategoryOid; @@ -200,8 +188,7 @@ namespace BeWoPlanerMobil.Models return result; } } - - + [Display(Name="Filter")] public QbFilterItem SelectedFilterItem { get; set; } diff --git a/BeWoPlanerMobil/Scripts/view-scripts/report.js b/BeWoPlanerMobil/Scripts/view-scripts/report.js index 821f706ca..c58ceea6d 100644 --- a/BeWoPlanerMobil/Scripts/view-scripts/report.js +++ b/BeWoPlanerMobil/Scripts/view-scripts/report.js @@ -1,29 +1,10 @@ function initializeYearAndMonths() { - var begin = moment(new Date()).date(1); - - for (var i = begin.year(); i > begin.year() - 10; i--) { - var option = new Option(i, i); - $("#year-select").append(option); - } - - var first = moment(new Date(begin.year(), 0, 1)); - for(var j = 0; j < 12; j++) { - var option2 = new Option(first.format("MMMM"), j + 1); - $("#month-select").append(option2); - - first.add(1, "month"); - } - - $("#month-select").val(moment(new Date()).month()); - calculateDays(); } function initializeReportView() { checkForExistingSignature(); - initializeYearAndMonths(); - qbFilterSelectionChange(); filterCheckBoxChange(); @@ -204,9 +185,14 @@ function checkForExistingSignature() { } var changeDateSelectionUrl = getChangeDateSelectionUrl(); - + $.get(changeDateSelectionUrl, - {startDayString: startDay, endDayString: endDay, monthString: month, yearString: year}, + { + startDayString: startDay, + endDayString: endDay, + monthString: month, + yearString: year + }, function(result1) { if (result1!=null && result1.length > 1) { var jason = $.parseJSON(result1); @@ -216,9 +202,23 @@ function checkForExistingSignature() { var monthName = $("#month-select option:selected").text(); + var isCostbearerChecked = $("#selected-organisation-cb").is(":checked"); + + var costbearerOid = isCostbearerChecked === true ? $("#organisation-select option:selected").val() : null; + + logDebug($("#organisation-select option:selected").val()); + var url = getCheckForEmployeeSignatureUrl(); - $.get(url, { customerOidString: customerOid, monthString: month, yearString: year }, + $.get(url, + { + customerOidString: customerOid, + monthString: month, + yearString: year, + startDayString: startDay, + endDayString: endDay, + costbearerOidString: costbearerOid + }, function(result) { if(result === null || result === undefined || result.length <= 1) { return; @@ -296,4 +296,8 @@ function filterCheckBoxChange() { organisationOidStr: organisationOid, categoryOidStr: categoryOid }); +} + +function validateReportForm() { + } \ No newline at end of file diff --git a/BeWoPlanerMobil/Scripts/view-scripts/scheduler.js b/BeWoPlanerMobil/Scripts/view-scripts/scheduler.js index ea9f3ffe5..b3ea8f5de 100644 --- a/BeWoPlanerMobil/Scripts/view-scripts/scheduler.js +++ b/BeWoPlanerMobil/Scripts/view-scripts/scheduler.js @@ -127,17 +127,14 @@ function validateAppointmentForm() { } else { unavailableResourcesMessage = "Eine der ausgewählten Ressourcen (" + names + ") ist zum gewählten Zeitpunkt nicht verfügbar."; } - + hideSpinner(); - $("#messagePopup .modal-body").html('"); - showMessagePopup("Fehler"); - showMessagePopupWithCallback("Überschneidung", - null, - 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")); - }); + + 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; } diff --git a/BeWoPlanerMobil/Views/Development/Development.cshtml b/BeWoPlanerMobil/Views/Development/Development.cshtml index c7eaa63a3..b9fbd9abc 100644 --- a/BeWoPlanerMobil/Views/Development/Development.cshtml +++ b/BeWoPlanerMobil/Views/Development/Development.cshtml @@ -136,10 +136,20 @@ } } - $.get(url, { customerOids: oidString }).done(function(numberOfSelectedCustomers) { + $.get("@Url.Action("AddCustomerToAppointment")", { customerOids: oidString }).done(function(numberOfSelectedCustomers) { $("#selected-customers-count-badge").text(numberOfSelectedCustomers); }); } + + function deleteTestAppointments() { + try { + showSpinner(); + + $("#deleteAppointmentsForm").submit(); + } catch (error) { + hideSpinner(); + } + }