예제 #1
0
        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));
                }
            }
        }
예제 #2
0
        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));
            }
        }