public async Task <IActionResult> EditSchedule(int?id) { var userName = this.User.Identity.Name; var user = await _userHelper.GetUserByEmailAsync(userName); if (user.IsActive == false) { return(RedirectToAction("EditUser", "Accounts")); } if (id == null) { return(NotFound()); } var activeScheduleId = id.Value; var result = await _activeScheduleRepository.ExistsAsync(activeScheduleId); if (!result) { return(View()); } var scheduleDetail = await _scheduleDetailRepository.GetScheduleDetailAsync(activeScheduleId); var list = await GetDisabledDaysAsync(scheduleDetail.ActiveSchedule.Services.Id, scheduleDetail.Dealership.Id); var services = _servicesSuppliedRepository.GetWithServicesByDealershipId(scheduleDetail.Dealership.Id); var model = _converterHelper.ToEditScheduleViewModel(scheduleDetail, services); var days = Newtonsoft.Json.JsonConvert.SerializeObject(list); model.DaysToDisable = days; model.ActiveScheduleId = activeScheduleId; return(View(model)); }
public async Task <IActionResult> Edit(Dealership dealership) { if (ModelState.IsValid) { var dShip = await _dealershipRepository.GetByIdAsync(dealership.Id); if (dealership.IsActive == true) { try { var services = await _serviceRepository.GetAllServicesAsync(); foreach (var item in services) { await _servicesSuppliedRepository.AddServicesToDealershipAsync(item, dShip); } var departments = await _departmentRepository.GetDepartments(); foreach (var item in departments) { await _dealershipDepartmentRepository.AddDepartmentToDealershipAsync(item, dShip); } dShip.IsActive = true; dShip.UpdateDate = DateTime.Now; var zipcode = await _zipCodeRepository.GetByIdAsync(dealership.ZipCodeId); dShip.ZipCode = zipcode; await _dealershipRepository.UpdateAsync(dShip); } catch (DbUpdateConcurrencyException) { if (!await _dealershipRepository.ExistsAsync(dealership.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } else { try { var departments = _dealershipDepartmentRepository.GetDealershipDepartments(dShip.Id); await _dealershipDepartmentRepository.DeleteDEalershipDepartmentsAsync(departments); var services = _servicesSuppliedRepository.GetWithServicesByDealershipId(dShip.Id); await _dealershipServiceRepository.DeleteServicesFromDealershipAsync(services); dShip.IsActive = false; dealership.UpdateDate = DateTime.Now; var zipcode = await _zipCodeRepository.GetByIdAsync(dShip.ZipCodeId); dShip.ZipCode = zipcode; await _dealershipRepository.UpdateAsync(dShip); return(RedirectToAction("Index")); } catch (DbUpdateConcurrencyException) { if (!await _dealershipRepository.ExistsAsync(dealership.Id)) { return(NotFound()); } else { throw; } } } } return(View(dealership)); }