// GET: Request/Edit/5 public ActionResult Edit(int?id) { try { if (id == null) { return(RedirectToAction("Index")); } souvenirID_tmp = id; Request request = db.requests.Find(id); if (request == null) { return(HttpNotFound()); } string userName = Session["userName"].ToString(); if (userName != request.userName) { return(RedirectToAction("Index", "Request")); } RequestEditView requestEdit = new RequestEditView(); requestEdit.amount = request.amount; requestEdit.status = request.status; requestEdit.souvenirName = request.souvenir.souvenirName; requestEdit.countrySouv = request.souvenir.countrySouv; requestEdit.price = request.souvenir.souvenirInfo.price.ToString().Replace(".", ","); requestEdit.currency = request.souvenir.souvenirInfo.currency; requestEdit.descriptionSouv = request.souvenir.souvenirInfo.descriptionSouv; requestEdit.reward = request.reward; return(View(requestEdit)); } catch (Exception) { return(RedirectToAction("Login", "Customer")); } }
public ActionResult Edit(RequestEditView model, int id) { Boolean isValid = true; ViewBag.ErrorMessageSouvenirName = null; ViewBag.ErrorMessageCountry = null; ViewBag.ErrorMessageAmount = null; ViewBag.ErrorMessagePrice = null; ViewBag.ErrorMessageCurrency = null; ViewBag.ErrorMessageDescription = null; ViewBag.ErrorMessageStatus = null; if (model.souvenirName == null || model.souvenirName.Length < 3 || model.souvenirName.Length > 30) { ViewBag.ErrorMessageSouvenirName = "The name of your souvenir should have between 3 and 30 characters."; isValid = false; } if (model.countrySouv == null) { ViewBag.ErrorMessageCountry = "Please select a country."; isValid = false; } if (model.amount < 1 || model.amount > 1000) { ViewBag.ErrorMessageAmount = "Please enter a quantity between 1 and 1000."; isValid = false; } string tmp = model.price.Replace(",", ""); tmp = tmp.Replace(".", ""); if (model.price == null || model.price.Length > 10) { ViewBag.ErrorMessagePrice = "Please enter a price under 10 digits."; isValid = false; } if ((model.price.Length - tmp.Length) > 1) { ViewBag.ErrorMessagePrice = "Maximum one ',' or '.' !"; isValid = false; } if (model.currency == null) { ViewBag.ErrorMessageCurrency = "Please select a currency."; isValid = false; } if (model.descriptionSouv == null || model.descriptionSouv.Length > 300 || model.descriptionSouv.Length < 5) { ViewBag.ErrorMessageDescription = "Please enter a description of your souvenir, it should be more than 5 and less than 300 characters."; isValid = false; } if (model.status == null) { ViewBag.ErrorMessageStatus = "Please select a status."; isValid = false; } if (isValid == true) { SouvenirInfo souvenirInfo = db.souvenirInfos.Find(souvenirID_tmp); if (model.price.Contains(",")) { model.price = model.price.Replace(",", "."); } NumberStyles style = NumberStyles.AllowDecimalPoint; CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); double d; double.TryParse(model.price, style, culture, out d); souvenirInfo.price = Math.Round(d, 2); souvenirInfo.currency = model.currency; souvenirInfo.descriptionSouv = model.descriptionSouv; db.Entry(souvenirInfo).CurrentValues.SetValues(souvenirInfo); db.SaveChanges(); Souvenir souvenir = db.souvenirs.Find(souvenirID_tmp); souvenir.souvenirName = model.souvenirName; souvenir.countrySouv = model.countrySouv; db.Entry(souvenir).CurrentValues.SetValues(souvenir); db.SaveChanges(); Request request = db.requests.Find(souvenirID_tmp); request.amount = model.amount; request.status = model.status; request.reward = (double)(request.amount * request.souvenir.souvenirInfo.price * rewardpercent) / 100; request.reward = Math.Round(request.reward, 2); db.Entry(request).CurrentValues.SetValues(request); db.SaveChanges(); souvenirID_tmp = null; return(RedirectToAction("MyOwnRequests")); } else { return(View("Edit", model)); } }
private void mi_File_Request_Click(object sender, RoutedEventArgs e) { RequestEditView v = new RequestEditView(); v.ShowDialog(); }