public AddLotWindow(FormMode action) { InitializeComponent(); this.Loaded += OnLoaded; if (action == FormMode.Add) { DataContext = new AddLotViewModel(); } else if (action == FormMode.Update) { DataContext = new UpdateLotViewModel(); } }
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")); }