public async Task <IActionResult> List() { var list = new GatePassModel(); var allotedVehicesList = await _vehicleAllotmentService.GetAllAllotedVehiclesAsync(); if (allotedVehicesList != null) { foreach (var item in allotedVehicesList) { var vehicle = await _vehicleMasterService.GetByIdAsync((int)item.VehicleId); var sc = await _userMasterService.GetUserByIdAsync((int)item.Scid); var model = new AllotedVehicleDetailsModel(); model.AllotId = item.Id; model.Model = vehicle.ModelVarient; model.Colour = vehicle.ModelColour; model.VINNumber = vehicle.Vinnumber; model.EngineNumber = vehicle.EngineNumber; model.KeyNo = vehicle.KeyNumber; model.CustomerName = (await _customerService.GetAllCustomerByIdAsync((int)item.CustomerId)).CustomerName; model.SalesConsultant = sc.FirstName + " " + sc.LastName; model.BranchName = (await _branchMasterService.GetBranchByIdAsync((int)item.BranchId)).BranchName; model.AllotDate = Convert.ToDateTime(item.DateCreated).ToString("dd/MM/yyyy"); list.AllotedVehicleDetails.Add(model); } } list.AvaillablePlaces = BindVehicleOutTo(); return(View(list)); }
private List <SelectListItem> BindVehicleOutTo() { var model = new GatePassModel(); model.AvaillablePlaces.Add(new SelectListItem { Value = "0", Text = " Select " }); foreach (VehicleOutToEnum e in Enum.GetValues(typeof(VehicleOutToEnum))) { model.AvaillablePlaces.Add(new SelectListItem { Value = e.ToString(), Text = e.ToString() }); } return(model.AvaillablePlaces); }
public async Task <IActionResult> List(GatePassModel model, IFormCollection form) { try { string bName = ""; int bId = 0; var user = await _userMasterService.GetUserByIdAsync(Convert.ToInt32(HttpContext.User.FindFirst(claim => claim.Type == System.Security.Claims.ClaimTypes.NameIdentifier)?.Value)); if (model.OutTo == VehicleOutToEnum.Showroom.ToString()) { foreach (var v in model.AllotedVehicleDetails.Where(x => x.IsSelected.Selected == true)) { var vehicle = await _vehicleAllotmentService.GetByIdAsync(v.AllotId); var showroomVeh = new ShowroomVehiclesDetails { VehicleId = vehicle.VehicleId, CustomerId = vehicle.CustomerId, ScId = vehicle.Scid, SubDealerId = vehicle.SubDealer, VehicleCameFrom = "Godown", DateCreated = DateTime.UtcNow, BranchId = (int)vehicle.BranchId, ByUser = user.Id }; await _showroomVehiclesService.InsertAsync(showroomVeh); bName = v.BranchName; bId = showroomVeh.BranchId; } } else { foreach (var v in model.AllotedVehicleDetails.Where(x => x.IsSelected.Selected == true)) { var pVehicle = await _vehicleAllotmentService.GetByIdAsync(v.AllotId); var pdiVeh = new PdiVehiclesDetails { VehicleId = pVehicle.VehicleId, CustomerId = pVehicle.CustomerId, ScId = pVehicle.Scid, SubDealerId = pVehicle.SubDealer, VehicleCameFrom = "Godown", DateCreated = DateTime.UtcNow, BranchId = (int)pVehicle.BranchId, ByUser = user.Id }; await _pdiVehicesService.InsertAsync(pdiVeh); bName = v.BranchName; bId = pdiVeh.BranchId; } } //add entry in gate pass tale var gatePass = new GatePassDetails { VehicleOutTo = model.OutTo, VehicleOutFor = bName, BranchId = bId, ByHand = model.ByHand, Status = "Successfull", DateCreated = DateTime.UtcNow, ByUser = user.Id }; await _gatePassService.InsertAsync(gatePass); foreach (var v in model.AllotedVehicleDetails.Where(x => x.IsSelected.Selected == true)) { var pVehicle1 = await _vehicleAllotmentService.GetByIdAsync(v.AllotId); var gatePassVehicles = new GatePassVehicles { GatePassId = gatePass.Id, VehicleId = (int)pVehicle1.VehicleId, CustomerId = (int)pVehicle1.CustomerId, SubDealerId = pVehicle1.SubDealer, DateCreated = DateTime.UtcNow }; await _gatePassService.InsertGatePassVehicleAsync(gatePassVehicles); //update alloted vehicle status pVehicle1.IsVehicleOutFromGodown = true; pVehicle1.DateUpdated = DateTime.UtcNow; await _vehicleAllotmentService.UpdateAsync(pVehicle1); // update vehicle track status in vehicle master table var vehicleInfo = await _vehicleMasterService.GetByIdAsync((int)pVehicle1.VehicleId); vehicleInfo.TrackStatus = model.OutTo; vehicleInfo.DateUpdated = DateTime.UtcNow; await _vehicleMasterService.UpdateAsync(vehicleInfo); } //generate gate pass model.GatePassDate = DateTime.UtcNow.ToString("dd-MMM-yyyy"); model.GatePassNo = gatePass.Id.ToString(); model.VehicleoutTo = model.OutTo; model.VehicleoutFor = bName; model.AuthPerson = user.FirstName + " " + user.LastName; var gatepass = await _viewToStringRendererService.RenderToStringAsync("GatePassMaster/GatePassTemplate", model); HtmlToPdf converter = new HtmlToPdf(); PdfDocument doc = converter.ConvertHtmlString(gatepass.ToString()); byte[] pdf = doc.Save(); doc.Close(); return(File(pdf, "application/pdf", "gatepass.pdf")); } catch (Exception ex) { throw ex; } }