Ejemplo n.º 1
0
        public ActionResult AssignCourierOrder(int id)
        {
            var model = new WSR_NPI.DataBase.Models.Сourier
            {
                OrderId = id
            };

            return(PartialView("AssignCourierOrder", model));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Смарт контракт для назначения курьера на заказ
        /// </summary>
        /// <param name="order"></param>
        /// <returns></returns>
        private bool SmartCourier(Order order, WSR_NPI.DataBase.Models.Сourier model)
        {
            var o = Context.Orders.FirstOrDefault(x => x.Id == order.Id);
            var c = Context.Сouriers.Single(x => x.Id == model.Id);

            if (o != null && o.Status.Equals("Ожидает курьера") && c.Status.Equals("Доставляет"))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 3
0
        public ActionResult AssignCourierOrder(WSR_NPI.DataBase.Models.Сourier model)
        {
            if (ModelState.IsValid)
            {
                var c = Context.Сouriers.Single(x => x.Id == model.Id);
                c.Status  = "Доставляет";
                c.OrderId = model.OrderId;

                var order = Context.Orders.Single(x => x.Id == model.OrderId);
                order.Status = "Ожидает курьера";
                var user = Context.Users.Single(x => x.Login.Equals(User.Identity.Name));

                if (SmartCourier(order, c))
                {
                    BlockChainManager.GenerateNextBlock(bM.Encrypt(JsonConvert.SerializeObject(order)), user.Id);
                }
                Context.SaveChanges();

                return(RedirectToAction("Index"));
            }

            return(PartialView("AssignCourierOrder", model));
        }