public async Task <IActionResult> PutDeliveryDriver(int id, DeliveryDriver deliveryDriver)
        {
            if (id != deliveryDriver.IdDeliveryDriver)
            {
                return(BadRequest());
            }

            _context.Entry(deliveryDriver).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DeliveryDriverExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #2
0
    public void CreateDriver()
    {
        GameObject newDriverGO = Instantiate(GameObject.Find("Database").GetComponent <Database>().GetPrefabName("DeliveryDriver"));

        driver       = newDriverGO.GetComponent <DeliveryDriver>();
        driver.truck = this;
    }
        private int[] GetDispatchedEmployeeIds()
        {
            IEnumerable <TicketDelivery> deliveries = TicketDelivery.GetAllActive();

            return(deliveries.Select(delivery => DeliveryDriver.Get(delivery.DeliveryDriverId))
                   .Select(driver => driver.DriversEmployeeId).ToArray());
        }
예제 #4
0
        public DeliveryDriver GetDriverDetailes(Guid DriverId)
        {
            DeliveryDriver driver = applicationDbContext.deliveryDrivers.Find(DriverId);


            return(driver);
        }
예제 #5
0
        public async Task <string> PostNewDriverDetailes(DeliveryDriver driver)
        {
            await applicationDbContext.deliveryDrivers.AddAsync(driver);

            await applicationDbContext.SaveChangesAsync();

            return("succss");
        }
예제 #6
0
        public ActionResult DeleteConfirmed(int id)
        {
            DeliveryDriver deliveryDriver = db.DeliveryDrivers.Find(id);

            db.DeliveryDrivers.Remove(deliveryDriver);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #7
0
 public ActionResult Edit([Bind(Include = "DriverId,DriverFirstName,DriverLastName")] DeliveryDriver deliveryDriver)
 {
     if (ModelState.IsValid)
     {
         db.Entry(deliveryDriver).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(deliveryDriver));
 }
예제 #8
0
        public ActionResult CompleteDel(int?id)
        {
            string         uId    = User.Identity.GetUserId();
            DeliveryDriver drivey = db.DeliveryDrivers.Where(u => u.UserId == uId).Include(u => u.Delivery).First();

            drivey.HasDelivery          = false;
            drivey.Delivery.IsDelivered = true;
            drivey.Delivery             = null;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #9
0
        // GET: DeliveryDrivers
        public ActionResult Index()
        {
            string         uId = User.Identity.GetUserId();
            DeliveryDriver dri = db.DeliveryDrivers.Where(d => d.UserId == uId).First();

            if (dri.HasDelivery)
            {
                dri = db.DeliveryDrivers.Where(d => d.UserId == uId).Include(u => u.Delivery).FirstOrDefault();
                return(RedirectToAction("AcceptDel", new { id = dri.Delivery.Id }));
            }
            return(View(dri));
        }
        public async Task <string> Post(DriverRegister.Request request)
        {
            var deliveryDriver = new DeliveryDriver()
            {
                Id           = Guid.NewGuid(),
                Email        = request.Email,
                UserName     = request.Email,
                PasswordHash = request.PasswordHash,
                PhoneNumber  = request.PhoneNumber,
                IDPrinter    = new Guid(request.PrintrtId)
            };

            return(await _adminInterface.PostNewDriverDetailes(deliveryDriver));
        }
예제 #11
0
        // GET: DeliveryDrivers/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DeliveryDriver deliveryDriver = db.DeliveryDrivers.Find(id);

            if (deliveryDriver == null)
            {
                return(HttpNotFound());
            }
            return(View(deliveryDriver));
        }
예제 #12
0
        public ActionResult Create([Bind(Include = "DriverId,DriverFirstName,DriverLastName")] DeliveryDriver deliveryDriver)
        {
            string userId = User.Identity.GetUserId();

            if (ModelState.IsValid)
            {
                deliveryDriver.UserId = userId;
                db.DeliveryDrivers.Add(deliveryDriver);
                db.SaveChanges();
                return(RedirectToAction("Index", "DeliveryDrivers", new { m = deliveryDriver }));
            }

            return(View("Index"));
        }
        private void InitializeDeliveryDrivers()
        {
            IEnumerable <DeliveryDriver> deliveryDrivers = DeliveryDriver.GetAllActive();

            int[] dispatchedEmployeeIds = GetDispatchedEmployeeIds();
            foreach (DeliveryDriver deliverDriver in deliveryDrivers)
            {
                if (!dispatchedEmployeeIds.Contains(deliverDriver.DriversEmployeeId))
                {
                    Person person = PersonManager.GetPersonByEmployeeId(deliverDriver.DriversEmployeeId);
                    listBoxDrivers.Items.Add(new FormattedListBoxItem(0, person.FirstName + " " +
                                                                      person.LastName, true));
                }
            }
        }
예제 #14
0
        // Todo: Use for bankrolling, not dispatching
        private void LoadsAvailableDriversRatherThanBankrolledDrivers()
        {
            List <EmployeeTimesheet> clockedIn = new List <EmployeeTimesheet>(EmployeeTimesheet.GetAllOpen());
            List <int> activeDeliveryDrivers   = new List <int>(DeliveryDriver.GetAllActiveEmployeeIds());
            List <int> dispatchableJobIds      = new List <int>(EmployeeJob.GetDispatchableJobIds());

            foreach (EmployeeTimesheet timesheet in clockedIn)
            {
                if (dispatchableJobIds.Contains(timesheet.JobId) &&
                    !activeDeliveryDrivers.Contains(timesheet.EmployeeId))
                {
                    Person person = PersonManager.GetPersonByEmployeeId(timesheet.EmployeeId);
                    //listBoxDrivers.Items.Add(new FormattedListBoxItem(0, person.FirstName + " " +
                    //    person.LastName, true));
                }
            }
        }
예제 #15
0
        public ActionResult AcceptDel(int?id)
        {
            string         uId    = User.Identity.GetUserId();
            DeliveryDriver drivey = db.DeliveryDrivers.Where(u => u.UserId == uId).FirstOrDefault();

            drivey.HasDelivery = true;
            ToDeliver del = db.ToDelivers.Where(u => u.Id == id).Include(u => u.Rest).Include(u => u.Items).FirstOrDefault();

            del.IsAccepted  = true;
            drivey.Delivery = del;
            db.SaveChanges();
            NavigationModel model = new NavigationModel()
            {
                Delivery = del,
                Driver   = drivey
            };

            return(View(model));
        }
        public async Task <ActionResult <DeliveryDriver> > PostDeliveryDriver(DeliveryDriver deliveryDriver)
        {
            _context.DeliveryDriver.Add(deliveryDriver);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (DeliveryDriverExists(deliveryDriver.IdDeliveryDriver))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetDeliveryDriver", new { id = deliveryDriver.IdDeliveryDriver }, deliveryDriver));
        }
        public bool CreateDeliveryDriver(DeliveryDriverCreate model)
        {
            var entity =
                new DeliveryDriver()
            {
                FirstName   = model.FirstName,
                LastName    = model.LastName,
                Email       = model.Email,
                Username    = model.Username,
                PhoneNumber = model.PhoneNumber,
                IsActive    = model.IsActive,
                Latitude    = model.Latitude,
                Longitude   = model.Longitude
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.DeliveryDrivers.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
        public async Task <bool> CreateDeliveryDriverAsync(DeliveryDriverCreate model)
        {
            var entity =
                new DeliveryDriver()
            {
                // OwnerID = _userId,
                FirstName   = model.FirstName,
                LastName    = model.LastName,
                Email       = model.Email,
                Username    = model.Username,
                PhoneNumber = model.PhoneNumber,
                IsActive    = model.IsActive,
                Latitude    = model.Latitude,
                Longitude   = model.Longitude
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.DeliveryDrivers.Add(entity);
                return(await ctx.SaveChangesAsync() == 1);
            }
        }
예제 #19
0
        public ActionResult <ApiRespnse <DriverLoginApiModel.Response> > Post(DriverLoginApiModel.Request request)
        {
            var response = new ApiRespnse <DriverLoginApiModel.Response>();


            DeliveryDriver driver = new DeliveryDriver();


            driver = _adminInterface.FindDriverByEmail(request.Email);


            if (driver == null)
            {
                response.Data = new DriverLoginApiModel.Response();
                response.Data.ErrorMessage = " هذا الأيميل غير موجود الرجاء المحاولة مجدداً";
                return(Ok(response));
            }

            if (driver.PasswordHash == request.PasswordHash)
            {
                response.Data             = new DriverLoginApiModel.Response();
                response.Data.Email       = driver.Email;
                response.Data.PhoneNumber = driver.PhoneNumber;
                response.Data.Id          = driver.Id.ToString();
                response.Data.UserName    = driver.UserName;
                response.Data.PrinterId   = driver.IDPrinter.ToString();

                return(Ok(response));
            }
            else
            {
                response.Data = new DriverLoginApiModel.Response();
                response.Data.ErrorMessage = " رقم سري خاطئ , الرجاء المحاولة مجدداً";
                return(Ok(response));
            }
        }
 void Start()
 {
     driver = gameObject.GetComponent <DeliveryDriver>();
 }
예제 #21
0
        public DeliveryDriver FindDriverByEmail(string driverEmail)
        {
            DeliveryDriver driver = applicationDbContext.deliveryDrivers.FirstOrDefault(x => x.Email == driverEmail);

            return(driver);
        }