public async Task <IActionResult> CompleteScheduleByDealershipUser(InitScheduleByDealership model) { var dealership = await _dealershipRepository.GetByIdAsync(model.DealershipId); var service = await _serviceRepository.GetByIdAsync(model.ServiceId); var user = await _userHelper.GetUserByEmailAsync(model.UserName); if (user == null) { return(NotFound()); } var vehicles = _vehicleRepository.GetUserVehicles(user.Id); if (vehicles == null) { ModelState.AddModelError(string.Empty, $"user {user.UserName} has no vehicles registered"); } var dates = await GetDisabledDaysAsync(service.Id, dealership.Id); var days = Newtonsoft.Json.JsonConvert.SerializeObject(dates); var newModel = _converterHelper.ToCompleteScheduleByDealershipViewModel(vehicles, dealership, service); newModel.DaysToDisable = days; newModel.UserId = user.Id; return(View(newModel)); }
public async Task <IActionResult> MakeScheduleForClientInit(InitScheduleByDealership model) { if (ModelState.IsValid) { var user = await _userHelper.GetUserByEmailAsync(model.UserName); if (user != null) { return(RedirectToAction("CompleteScheduleByDealershipUser", model)); } else { ModelState.AddModelError(string.Empty, $"The user {user.UserName} does not exists"); var nouserReturn = await _userHelper.GetUserByEmailAsync(this.User.Identity.Name); var noemployeeReturn = await _employeeRepository.GetFullEmployeeByUserAsync(nouserReturn.Id); var noservicesReturn = _servicesSuppliedRepository.GetWithServicesByDealershipId(noemployeeReturn.Dealership.Id); var nonModelReturn = _converterHelper.ToNewSchedulebyDealership(noemployeeReturn.Dealership.Id, noservicesReturn); return(View(nonModelReturn)); } } var userReturn = await _userHelper.GetUserByEmailAsync(this.User.Identity.Name); var employee = await _employeeRepository.GetFullEmployeeByUserAsync(userReturn.Id); var services = _servicesSuppliedRepository.GetWithServicesByDealershipId(employee.Dealership.Id); var newModel = _converterHelper.ToNewSchedulebyDealership(employee.Dealership.Id, services); return(View(newModel)); }