public async Task <IActionResult> ServiceRequest(NewServiceRequestViewModel request) { if (ModelState.IsValid == false) { var masterData = await _masterData.GetMasterDataCacheAsync(); ViewBag.VehicleTypes = masterData.Values.Where(p => p.PartitionKey == nameof(MasterKeys.VehicleType)).ToList(); ViewBag.VehicleNames = masterData.Values.Where(p => p.PartitionKey == nameof(MasterKeys.VehicleName)).ToList(); return(View(request)); } var serviceRequest = _mapper.Map <ServiceRequest>(request); serviceRequest.PartitionKey = User.GetCurrentUserDetails().Email; serviceRequest.RowKey = Guid.NewGuid().ToString(); serviceRequest.RequestedDate = request.RequestedDate; serviceRequest.Status = nameof(Status.New); serviceRequest.ServiceEngineer = HttpContext.User.IsInRole(nameof(Roles.Engineer)) ? User.GetCurrentUserDetails().Email : string.Empty; await _serviceRequestOperations.CreateServiceRequestAsync(serviceRequest); return(RedirectToAction("Dashboard", "Dashboard")); }
public async Task <IActionResult> ServiceRequest(NewServiceRequestViewModel request) { if (!ModelState.IsValid) { var masterData = await _masterData.GetMasterDataCacheAsync(); ViewBag.VehicleTypes = masterData.Values.Where(p => p.PartitionKey == MasterKeys.VehicleType.ToString()).ToList(); ViewBag.VehicleNames = masterData.Values.Where(p => p.PartitionKey == MasterKeys.VehicleName.ToString()).ToList(); return(View(request)); } // Map the view model to Azure model var serviceRequest = _mapper.Map <NewServiceRequestViewModel, ServiceRequest>(request); // Set RowKey, PartitionKye, RequestedDate, Status properties serviceRequest.PartitionKey = HttpContext.User.GetCurrentUserDetails().Email; serviceRequest.RowKey = Guid.NewGuid().ToString(); serviceRequest.RequestedDate = request.RequestedDate; serviceRequest.Status = Status.New.ToString(); await _serviceRequestOperations.CreateServiceRequestAsync(serviceRequest); return(RedirectToAction("Dashboard", "Dashboard", new { Area = "ServiceRequests" })); }