public ActionResult Edit(int orderId, int medicamentId, EditOrderDetailsViewModel editOrderDetailsViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(editOrderDetailsViewModel));
            }

            var orderDetails = _manager.GetByPrimaryKey(orderId, medicamentId);

            orderDetails.Price    = editOrderDetailsViewModel.Price;
            orderDetails.Quantity = editOrderDetailsViewModel.Quantity;

            _manager.Update(orderDetails);

            return(RedirectToAction("Index"));
        }
示例#2
0
        public ActionResult Edit(int id)
        {
            try
            {
                // get order info
                var editedOrder = db.Orders.Where(o => o.OrderId == id).FirstOrDefault();
                if (editedOrder != null)
                {
                    // create view model
                    var model = new EditOrderViewModel();
                    model.OrderId                = editedOrder.OrderId;
                    model.OrderDate              = editedOrder.OrderDate.ToString("dd/MM/yyyy");
                    model.CustomerId             = editedOrder.CustomerId;
                    model.BargeId                = editedOrder.BargeId;
                    model.SandId                 = editedOrder.SandId;
                    model.VolumeRevenue          = editedOrder.VolumeRevenue;
                    model.VolumePromotion        = editedOrder.VolumePromotion;
                    model.VolumePurchase         = editedOrder.VolumePurchase;
                    model.VolumePurchaseDecrease = editedOrder.VolumePurchaseDecrease;
                    model.CustomerPrice          = editedOrder.CustomerPrice;
                    model.ProviderPrice          = editedOrder.ProviderPrice;
                    model.BaseTransportPrice     = editedOrder.BaseTransportPrice;

                    var lines = db.OrderDetails.Where(od => od.OrderId == editedOrder.OrderId).ToList();

                    foreach (var line in lines)
                    {
                        var childModel = new EditOrderDetailsViewModel();

                        childModel.OrderDetailsId = line.OrderDetailsId;
                        childModel.BoatId         = line.BoatId;
                        childModel.BoatVolume     = line.BoatVolume;
                        childModel.TransportTimes = line.TransportTimes;
                        childModel.ExtraVolume    = line.ExtraVolume;
                        childModel.TotalVolume    = line.TransportTimes * line.BoatVolume + line.ExtraVolume;
                        childModel.TransportPrice = line.TransportPrice;
                        childModel.Amount         = (decimal)childModel.TotalVolume * line.TransportPrice;

                        // add order details view models
                        model.OrderDetails.Add(childModel);
                    }

                    // set view bage data
                    ViewBag.Boats = db.Boats.OrderBy(b => b.BoatCode)
                                    .Select(b => new SelectListItem()
                    {
                        Text  = b.BoatCode + " - " + b.BoatOwner,
                        Value = b.BoatId.ToString()
                    });

                    return(View(model));
                }

                return(RedirectToAction("Message", "Error",
                                        new RouteValueDictionary(new { message = "Thông tin chuyến #" + id + " không tồn tại trong hệ thống!" })));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Message", "Error",
                                        new RouteValueDictionary(new { message = ex.Message })));
            }
        }