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));
        }
Exemplo n.º 2
0
        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));
            }
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
            }
        }
Exemplo n.º 5
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);
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 9
0
        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));
        }
Exemplo n.º 10
0
        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));
        }
Exemplo n.º 12
0
        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));
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
        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");
        }
Exemplo n.º 16
0
        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()));
        }
Exemplo n.º 17
0
        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);
                }
            }
        }