public AddLotWindow(FormMode action)
        {
            InitializeComponent();

            this.Loaded += OnLoaded;

            if (action == FormMode.Add)
            {
                DataContext = new AddLotViewModel();
            }
            else if (action == FormMode.Update)
            {
                DataContext = new UpdateLotViewModel();
            }
        }
Beispiel #2
0
        public ActionResult Edit(UpdateLotViewModel updateLot, HttpPostedFileBase uploadImage, string action)
        {
            switch (action)
            {
            case "delete":
                dataBase.Lots.Delete(updateLot.LotId);
                break;

            case "update":
                var lotInDb = dataBase.Lots.Get(updateLot.LotId);
                if (lotInDb == null)
                {
                    return(new HttpNotFoundResult());
                }
                if (lotInDb.CurrentPrice <= updateLot.StartLotPrice)
                {
                    ModelState.AddModelError("StartLotPrice", "Начальная цена не может быть больше текущей ставки");
                }
                if (ModelState.IsValid)
                {
                    if (uploadImage != null)
                    {
                        uploadImage.SaveAs(
                            Server.MapPath("~/Content/Image/" + System.IO.Path.GetFileName(uploadImage.FileName)));
                        updateLot.LotImageUrl =
                            "/Content/Image/" + System.IO.Path.GetFileName(uploadImage.FileName);
                    }
                    var lot = Mapper.Map <UpdateLotViewModel, Lot>(updateLot);
                    lotInDb.LotName        = lot.LotName;
                    lotInDb.LotImageUrl    = lot.LotImageUrl;
                    lotInDb.EndLotSaleDate = lot.EndLotSaleDate;
                    lotInDb.StartLotPrice  = lot.StartLotPrice;
                    //update current price!!!
                    dataBase.Lots.Update(lotInDb);
                    break;
                }
                ModelState.AddModelError("", "Данные введены некоректно. Пожалуйства исправте ошибки!");
                return(View("UpdateLot", updateLot));
            }
            dataBase.Save();
            return(RedirectToAction("Index", "Customer"));
        }