public async Task <IActionResult> CreateByDriver(TransferCreateInputModel transferCreateInputModel, string driverId) { var currentUser = await this.userManager.GetUserAsync(this.User); transferCreateInputModel.ClientId = currentUser.Id; var driverServiceModel = await this.driversService.GetByIdAsync <DriverServiceDetailsModel>(driverId); var isDriverAvailableByDate = await this.transfersService.IsDriverAvailableByDate(transferCreateInputModel.TransferDate, transferCreateInputModel.DriverId); if (!this.ModelState.IsValid || !isDriverAvailableByDate) { if (!isDriverAvailableByDate) { this.TempData["Error"] = UnavailableDriverErrorMessage; } var transfersTypes = await this.transfersTypesService.GetAllAsync <TransfersTypesServiceDropDownModel>(); transferCreateInputModel.Driver = driverServiceModel.To <Driver>(); transferCreateInputModel.TransfersTypes = transfersTypes.Select(t => t.To <TransfersTypesDropDownViewModel>()).ToList(); transferCreateInputModel.ClientId = currentUser.Id; return(this.View(transferCreateInputModel)); } var serviceTransfer = transferCreateInputModel.To <TransferServiceInputModel>(); await this.transfersService.CreateAsync(serviceTransfer); return(this.Redirect("/Transfers/MyTransfers")); }
public async Task <IActionResult> CreateByDriver(string driverId) { var driverService = await this.driversService.GetByIdAsync <DriverServiceDetailsModel>(driverId); var transfersTypes = await this.transfersTypesService.GetAllAsync <TransfersTypesServiceDropDownModel>(); var viewModel = new TransferCreateInputModel() { Driver = driverService.To <Driver>(), TransfersTypes = transfersTypes.Select(t => t.To <TransfersTypesDropDownViewModel>()).ToList(), }; return(this.View(viewModel)); }
public async Task <IActionResult> Create(string searchByDriver) { var drivers = await this.driversService.GetAllAsync <DriverServiceDetailsModel>(); var transfersTypes = await this.transfersTypesService.GetAllAsync <TransfersTypesServiceDropDownModel>(); this.ViewData["DriverFilter"] = searchByDriver; if (!string.IsNullOrEmpty(searchByDriver)) { drivers = drivers.Where(d => d.Id == searchByDriver); } var viewModel = new TransferCreateInputModel() { Drivers = drivers.Select(d => d.To <DriverDetailsViewModel>()).ToList(), TransfersTypes = transfersTypes.Select(t => t.To <TransfersTypesDropDownViewModel>()).ToList(), }; return(this.View(viewModel)); }