public ActionResult AssignCourierOrder(int id) { var model = new WSR_NPI.DataBase.Models.Сourier { OrderId = id }; return(PartialView("AssignCourierOrder", model)); }
/// <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); } }
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)); }