protected override async Task <bool> SaveAsync() { var monthIndex = dateTimeService.GetGenitiveMonthIndex(SelectedMonth) + 1; var timeArray = Time.Split(':'); var hours = int.Parse(timeArray[0]); var minutes = int.Parse(timeArray[1]); var dateTime = new DateTime(SelectedYear, monthIndex, SelectedDay, hours, minutes, 0); if (Enrollment is null) { Enrollment = await enrollmentService.AddEnrollmentAsync(new Enrollment() { ClientFirstname = ClientFirstname, ClientPhoneNumber = ClientPhoneNumber, DateTime = dateTime, Description = Description, CreationDateTime = DateTime.Now }); } else { Enrollment.ClientFirstname = ClientFirstname; Enrollment.ClientPhoneNumber = ClientPhoneNumber; Enrollment.DateTime = dateTime; Enrollment.Description = Description; Enrollment.EditDateTime = DateTime.Now; await enrollmentService.EditEnrollmentAsync(Enrollment); await serviceManager.RemoveAllEnrollmentWorkerServicesAsync(Enrollment.Id); } var enrollmentWorkerServices = new List <EnrollmentWorkerService>(); EnrollmentServices.ForEach(EnrollmentService => { enrollmentWorkerServices.Add(new EnrollmentWorkerService() { EnrollmentId = Enrollment.Id, ServiceId = EnrollmentService.Id, WorkerId = EnrollmentService.WorkerId }); }); await serviceManager.AddEnrollmentWorkerServicesAsync(enrollmentWorkerServices); return(await base.SaveAsync()); }
private async Task OnRemoveEnrollmentServiceCommandExecuteAsync(ServiceDTO serviceDTO) { var service = await serviceManager.GetServiceAsync(serviceDTO.Id); if (service.Id <= Services.Count) { var services = Services as IList <Service>; services.Insert(service.Id - 1, service); } else { Services.Add(service); } EnrollmentServices.Remove(serviceDTO); }
private void OnAddEnrollmentServiceCommandExecute() { var serviceDTO = new ServiceDTO() { Id = SelectedService.Id, WorkerId = SelectedWorker.Id, Title = SelectedService.Title, WorkerShortname = SelectedWorker.Shortname }; EnrollmentServices.Add(serviceDTO); var service = Services.FirstOrDefault(Service => Service.Id.Equals(SelectedService.Id)); Services.Remove(service); SelectedWorker = null; }