public ActionResult KundeSpeichern(Kunde kunde, Kontakdaten Hauptadresse, string Land = "") { Land land = dms.Laender.SingleOrDefault(r => r.land == Land); Kunde kun = dms.Kunden.SingleOrDefault(r => r.KundeID == kunde.KundeID); if (kun == null) { if (land != null) { Hauptadresse.Land = land; } else { ViewBag.ErrLand = "true"; } kunde.Hauptadresse = Hauptadresse; if (ModelState.IsValid && land != null) { dms.Kunden.Add(kunde); dms.SaveChanges(); return(RedirectToAction("Index")); } else { foreach (ModelState state in ViewData.ModelState.Values.Where(x => x.Errors.Count > 0)) { foreach (var item in state.Errors) { System.Diagnostics.Debug.WriteLine("error: " + item.ErrorMessage); } } return(View("KundendatenEingabe", kunde)); } } else { if (ModelState.IsValid && land != null) { Kontakdaten HaupTAD = dms.Kontaktdatenn.Find(Hauptadresse.KontakdatenID); dms.Entry(kun).CurrentValues.SetValues(kunde); dms.Entry(HaupTAD).CurrentValues.SetValues(Hauptadresse); if (land.LandID != HaupTAD.Land.LandID) { dms.Laender.Find(HaupTAD.Land.LandID).laender.Remove(HaupTAD); HaupTAD.Land = land; } dms.SaveChanges(); return(RedirectToAction("Index")); } else { return(View("KundendatenEingabe", kunde)); } } }
public ActionResult AenderungSpeichern(FormCollection fc, Artikel artikels, Artikelart art, HttpPostedFileBase file, Artikelsprache sprache, int MeldeOld, int SicherOld, ArtikelKategorie Kategorie = null, string Messename = "") { bool changeMeldeSicherheitsbestand = false; if (artikels.Meldebestand != MeldeOld || artikels.Sicherheitsbestand != SicherOld) { changeMeldeSicherheitsbestand = true; } if (file != null && !String.IsNullOrEmpty(artikels.Bildpfad)) { var path = Path.Combine(Server.MapPath("~/Images/Artikelbilder"), artikels.ArtikelID + Path.GetExtension(file.FileName)); if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } file.SaveAs(path); artikels.Bildpfad = artikels.ArtikelID + Path.GetExtension(file.FileName); } if (fc["AllgemeinerMesserartikel"].ToString() == "true") { artikels.MesseartikelAllgemein = true; } if (fc["Landesmesseartikel"].ToString() == "true") { artikels.Landesmesseartikel = true; } bool stateModel = false; if (ModelState.IsValid) { dms.Entry(artikels).State = EntityState.Modified; try { dms.SaveChanges(); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Mist:" + ex.Message); } dms.SaveChanges(); stateModel = true; } else { ViewBag.artikelsprachen = new SelectList(dms.Artikelsprachen.OrderBy(r => r.Sprache), "ArtikelspracheID", "Sprache"); ViewBag.artikelarten = new SelectList(dms.Artikelarten.OrderBy(r => r.Art), "ArtikelartID", "Art"); } dms.Dispose(); dms = new DMS_Winkhardt_DB(); Artikel artikel = dms.Artikell.Find(artikels.ArtikelID); Messe messe = dms.Messen.SingleOrDefault(r => r.Name == Messename); if (!(artikels.MesseartikelAllgemein || artikels.Landesmesseartikel)) { if (messe == null) { ViewData["KMerr"] = true; } else { if (artikel.Messe.MesseID != messe.MesseID) { artikel.Messe = dms.Messen.Find(messe.MesseID); dms.SaveChanges(); } } } else { if (artikel.Messe != null) { if (artikel.Landesmesseartikel) { artikel.Messe = dms.Messen.Single(r => r.isLandesmesse); } else { dms.Messen.Find(artikel.Messe.MesseID).artikel.Remove(artikel); } } dms.SaveChanges(); } if (art.ArtikelartID == 0) { ViewData["Arterr"] = true; } else { dms.Artikelarten.Find(artikel.artikelart.ArtikelartID).artikel.Remove(artikel); artikel.artikelart = dms.Artikelarten.Find(art.ArtikelartID); dms.SaveChanges(); } if (sprache.ArtikelspracheID == 0) { ViewData["Spracheerr"] = true; } else { dms.Artikelsprachen.Find(artikel.Sprache.ArtikelspracheID).artikel.Remove(artikel); artikel.Sprache = dms.Artikelsprachen.Find(sprache.ArtikelspracheID); dms.SaveChanges(); } //if (Kategorie != null) //{ // artikel.ArtikelKategorie = dms.ArtikelKategorien.Find(Kategorie.ArtikelKategorieID); //} if ((messe != null || artikel.Landesmesseartikel || artikel.MesseartikelAllgemein) && art.ArtikelartID != 0 && sprache.ArtikelspracheID != 0 && stateModel) { if (changeMeldeSicherheitsbestand) { if (artikel.Meldebestand >= artikel.Bestand && artikel.Active) { Extensions.NotificationUndercutMeldebestand(artikel); } if (artikel.Sicherheitsbestand >= artikel.Bestand && artikel.Active) { Extensions.NotificationUndercutSicherheitsbestand(artikel); } } return(RedirectToAction("Index")); } else { ViewBag.artikelarten = new SelectList(dms.Artikelarten.OrderBy(r => r.Art), "ArtikelartID", "Art", artikel.artikelart.ArtikelartID); ViewBag.artikelsprachen = new SelectList(dms.Artikelsprachen.OrderBy(r => r.Sprache), "ArtikelspracheID", "Sprache", artikel.Sprache.ArtikelspracheID); return(View("ArtikeldatenEingabe", artikels)); } }