public async Task <IActionResult> Edit(int id, DriverVM DriverVM) { if (id != DriverVM.Id) { return(NotFound()); } if (ModelState.IsValid) { try { Driver driver = _mapper.Map <DriverVM, Driver>(DriverVM); _context.Update(driver); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DriverExists(DriverVM.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(DriverVM)); }
public async Task <Response> AddDriver(DriverVM driver) { var Dto = Mapper.Map <DriverVM, Driver>(driver); Driver Exist = await _db.Drivers.Where(x => x.Name.Trim() == driver.Name.Trim()).FirstOrDefaultAsync(); if (Exist != null) { return(GenericResponses <int> .ResponseStatus(true, Constant.MDGNoAlreadyExist, (int)Constant.httpStatus.NoContent, 0)); } _db.Drivers.Add(Dto); int result = await _db.SaveChangesAsync(); if (result == 1) { // Mapper.Initialize(cfg => cfg.CreateMap<User, UserVM>()); return(GenericResponses <int> .ResponseStatus(false, Constant.MSGRecordFound, (int)Constant.httpStatus.Ok, result)); } else { return(GenericResponses <int> .ResponseStatus(true, Constant.MDGNoLoginFailed, (int)Constant.httpStatus.NoContent, result)); } }
public async Task <JsonResult> RemoveDriver(DriverVM driver) { Response r = await Repository.RemoveDriver(driver); // List<UserVM> employees = ((IEnumerable)r.Value).Cast<UserVM>().ToList(); ; return(Json(r, JsonRequestBehavior.AllowGet)); }
public async Task <Response> RemoveDriver(DriverVM driver) { try { var DTO = await _db.Drivers.Where(x => x.Id == driver.Id).FirstOrDefaultAsync(); _db.Drivers.Remove(DTO); int result = await _db.SaveChangesAsync(); if (result == 1) { // Mapper.Initialize(cfg => cfg.CreateMap<User, UserVM>()); return(GenericResponses <int> .ResponseStatus(false, Constant.MSGRecordFound, (int)Constant.httpStatus.Ok, result)); } else { return(GenericResponses <int> .ResponseStatus(true, Constant.MSGFailed, (int)Constant.httpStatus.NoContent, result)); } } catch (Exception e) { return(GenericResponses <int> .ResponseStatus(true, e.Message, (int)Constant.httpStatus.NoContent, 0)); } }
public async Task <DriverVM> GetDriversAsync(int pageno, int pagesize, string sterm) { DriverVM model = new DriverVM(); var parStart = new SqlParameter("@Start", (pageno - 1) * pagesize); var parEnd = new SqlParameter("@PageSize", pagesize); var parSearchTerm = new SqlParameter("@SearchTerm", DBNull.Value); if (!(sterm == null || sterm == "")) { parSearchTerm.Value = sterm; } // setting stored procedure OUTPUT value // This return total number of rows, and avoid two database call for data and total number of rows var spOutput = new SqlParameter { ParameterName = "@TotalCount", SqlDbType = System.Data.SqlDbType.BigInt, Direction = System.Data.ParameterDirection.Output }; model.Drivers = await db.Database.SqlQuery <utblMstCabDriver>("udspMstCabDriverPaged @Start, @PageSize,@SearchTerm, @TotalCount out", parStart, parEnd, parSearchTerm, spOutput).ToListAsync(); model.TotalRecords = int.Parse(spOutput.Value.ToString()); return(model); }
public async Task <JsonResult> AddDriver(DriverVM driver) { driver.CreatedOn = DateTime.Today; driver.EcomID = (int)Session["Comp"]; Response r = await Repository.AddDriver(driver); // List<UserVM> employees = ((IEnumerable)r.Value).Cast<UserVM>().ToList(); ; return(Json(r, JsonRequestBehavior.AllowGet)); }
public ActionResult DDelivery() { var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); ApplicationUser currentUser = UserManager.FindById(User.Identity.GetUserId()); string ID = currentUser.Id; string Email = currentUser.Email; string Name = currentUser.Name; string SName = currentUser.Surname; List <DriverVM> VMlist = new List <DriverVM>(); var col = (from i in db.Maps join x in db.Orders on i.orderID equals x.OrderID where i.Distance > 0 && x.Delivered == false && /*&& x.OutForDel == false*/ x.Collected == false && x.Collected == false && x.DriverID == ID select new { i.DelAddress, i.Email, x.CustomerName, x.CustomerPhone, x.OrderID, x.Collected, x.Delivered, x.OutForCol, x.OutForDel, x.DriverID }).Distinct(); foreach (var item in col) { DriverVM obj = new DriverVM(); obj.Email = item.Email; obj.CustomerPhone = item.CustomerPhone; obj.Name = item.CustomerName; obj.DeliveryAddress = item.DelAddress; obj.OutForDel = item.OutForDel; obj.Delivered = item.Delivered; obj.OutForCol = item.OutForCol; obj.Collected = item.Collected; obj.OrderID = item.OrderID; obj.DriverID = item.DriverID; VMlist.Add(obj); } return(View(VMlist.ToList())); }
public async Task <IActionResult> Create(DriverVM DriverVM) { if (ModelState.IsValid) { Driver driver = _mapper.Map <DriverVM, Driver>(DriverVM); _context.Add(driver); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(DriverVM)); }
public IActionResult Detail(int id) { Driver driver = _context.Drivers.FirstOrDefault(x => x.ID == id); DriverVM model = new DriverVM(); model.Name = driver.Name; model.Surname = driver.Surname; model.Email = driver.Email; model.Password = driver.Password; model.CarPlate = driver.Plate; return(View(model)); }
public IActionResult Edit(DriverVM model) { Driver driver = _context.Drivers.FirstOrDefault(x => x.ID == model.ID); if (ModelState.IsValid) { driver.Name = model.Name; driver.Surname = model.Surname; driver.Experience = model.DriverLicense; driver.Email = model.Email; driver.Password = model.Password; driver.Plate = model.CarPlate; _context.SaveChanges(); return(View(model)); } return(Redirect("/AdminArea/AdminDriver/Index/")); //return RedirectToAction("Index","AdminDriver"); }
public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } Driver driver = await _context.Drivers.FindAsync(id); if (driver == null) { return(NotFound()); } DriverVM driverVM = _mapper.Map <Driver, DriverVM>(driver); return(View(driverVM)); }
public IActionResult Add(DriverVM model) { if (ModelState.IsValid) { Driver driver = new Driver(); driver.Name = model.Name; driver.Surname = model.Surname; driver.Experience = model.DriverLicense; driver.Email = model.Email; driver.Password = model.Password; driver.Plate = model.CarPlate; driver.Password = model.Password; _context.Drivers.Add(driver); _context.SaveChanges(); return(RedirectToAction("Index", "AdminDriver")); } return(View()); }
public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } Driver driver = await _context .Drivers .FirstOrDefaultAsync(m => m.Id == id); if (driver == null) { return(NotFound()); } DriverVM driverVM = _mapper.Map <Driver, DriverVM>(driver); return(View(driverVM)); }
public static Response <DriverVM> Delete(DriverVM driverVM) { Response <DriverVM> response = new Response <DriverVM>(); try { var deleteDriver = _db.Drivers.Where(c => c.Id == driverVM.Id).SingleOrDefault(); _db.Drivers.Remove(deleteDriver); _db.SaveChanges(); response.IsCompleted = true; } catch (Exception ex) { response.IsCompleted = false; response.Message = ex.Message; response.Exception = ex; } return(response); }
public ActionResult AcceptOrder(DriverVM driverVM) { var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); ApplicationUser currentUser = UserManager.FindById(User.Identity.GetUserId()); string ID = currentUser.Id; string Email = currentUser.Email; string Name = currentUser.Name; string SName = currentUser.Surname; if (ModelState.IsValid) { driverVM.DriverID = ID; db.DriverVMs.Add(driverVM); db.SaveChanges(); return(RedirectToAction("DDelivery", "DriverVM")); } return(View(driverVM)); //return RedirectToAction("DDelivery", "DriverVM"); }
public ActionResult Accept() { List <DriverVM> VMlist = new List <DriverVM>(); var col = (from i in db.Maps join x in db.Orders on i.Id equals x.OrderID where i.Distance > 0 && x.Delivered == false && x.OutForDel == false select new { i.DelAddress, i.Email, x.CustomerName, x.CustomerPhone, x.OrderID, x.Collected, x.Delivered, x.OutForCol, x.OutForDel, x.DriverID }).Distinct(); foreach (var item in col) { DriverVM obj = new DriverVM(); obj.Email = item.Email; obj.CustomerPhone = item.CustomerPhone; obj.Name = item.CustomerName; obj.DeliveryAddress = item.DelAddress; obj.OutForDel = item.OutForDel; obj.Delivered = item.Delivered; obj.OutForCol = item.OutForCol; obj.Collected = item.Collected; obj.OrderID = item.OrderID; obj.DriverID = item.DriverID; VMlist.Add(obj); } return(View(VMlist.ToList())); }
public static Response <bool> AddOrUpdate(DriverVM driverVM, bool isUpdate = false) { Response <bool> response = new Response <bool>(); try { Driver driver = null; if (isUpdate) { driver = _db.Drivers.SingleOrDefault(c => c.Id == driverVM.Id); } if (driver == null) { driver = new Driver(); } driver.Name = driverVM.Name; if (!isUpdate) { _db.Drivers.Add(driver); } _db.SaveChanges(); response.Object = true; response.IsCompleted = true; response.Message = "Driver Successfully Added/Updated!"; } catch (Exception ex) { response.Object = false; response.IsCompleted = false; response.Message = ex.Message; response.Exception = ex; } return(response); }
public async Task ImportExcel() { var file = Request.Form.Files[0]; var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); IWorkbook workbook; ISheet sheet = null; Queue <DriverVM> dt = new Queue <DriverVM>(); int startRow = 1; MemoryStream stream = new MemoryStream(); await file.CopyToAsync(stream); using (var fs = file.OpenReadStream()) { if (fileName.IndexOf(".xlsx") > 0) // 2007版本 { workbook = new XSSFWorkbook(fs); } else if (fileName.IndexOf(".xls") > 0) // 2003版本 { workbook = new HSSFWorkbook(fs); } else { throw new Exception("导入的文件格式有误只支持Excel2003和2007版本"); } var fileObj = new DriverVM(); sheet = workbook.GetSheetAt(0); if (sheet != null) { IRow firstRow = sheet.GetRow(0); int cellCount = firstRow.LastCellNum; //一行最后一个cell的编号 即总的列数 //最后一列的标号 int rowCount = sheet.LastRowNum; for (int i = startRow; i <= rowCount; ++i) { IRow row = sheet.GetRow(i); if (row == null) { continue; //没有数据的行默认是null } DriverVM dataRow = new DriverVM(); for (int j = row.FirstCellNum; j < cellCount; ++j) { if (row.GetCell(j) != null) //同理,没有数据的单元格都默认是null { var values = row.GetCell(j).ToString(); try { switch (j) { case 0: dataRow.UserName = values.Trim(); break; case 1: dataRow.PhoneNumber = values.Trim(); break; } } catch (Exception ex) { throw new Exception($"第{i + 1}行,第{j + 1}列数据有误,请检查!"); } } } dt.Enqueue(dataRow); } stream.Dispose(); await Import.ImportExcel(dt); } } }