示例#1
0
        public static bool CheckDateAndSendSpecificMailReminder()
        {
            DMS_Winkhardt_DB dms = new DMS_Winkhardt_DB();

            DateTime date          = DateTime.Now;
            string   aktuellesJahr = date.Year.ToString();

            //if(date.Date)

            if (date.Day == 1)
            {
                SendMailReminder(1, "es ist wieder an der Zeit die Rückläufer in Augenschein zu nehmen.");
            }

            if (date.ToString("dd.MM.yyyy") == "31.03." + aktuellesJahr || date.ToString("dd.MM.yyyy") == "30.09." + aktuellesJahr ||
                date.ToString("dd.MM.yyyy") == "30.06." + aktuellesJahr || date.ToString("dd.MM.yyyy") == "31.12." + aktuellesJahr || date.ToString("dd.MM.yyyy") == "25.05." + aktuellesJahr)
            {
                SendMailReminder(4, "viele Marketingartikel sind raus. Jetzt muss Kohle rein!");
            }

            List <Messe> messen = dms.Messen.Where(r => !(r.abgegrechnet && r.RestmengenlisteVerschickt)).OrderBy(r => r.Startdatum).ToList();

            //SendCheckMail(messen);
            foreach (var messe in messen)
            {
                DateTime startDatum = messe.Startdatum;

                int    daysBetweenStartAndToday     = (startDatum - date).Days;
                string textMesseRestmengenlieferung = "die Messe \"" + messe.Name + " (Stardatum: " + messe.Startdatum.ToString("dd.MM.yyy") + ") \" möchtet ihre Restmengen zurück.";
                string textMesseAbrechnung          = "die Messe \"" + messe.Name + " (Enddatum: " + messe.Enddatum.ToString("dd.MM.yyy") + ") \" möchte abgerechnet werden.";

                if ((date - messe.Enddatum).Days == 1)
                {
                    SendMailReminder(3, textMesseAbrechnung);
                }

                if (date.DayOfWeek == DayOfWeek.Monday)
                {
                    if (daysBetweenStartAndToday > 5 && daysBetweenStartAndToday < 8)
                    {
                        SendMailReminder(2, textMesseRestmengenlieferung);
                    }
                }
                if (date.DayOfWeek == DayOfWeek.Tuesday)
                {
                    if (daysBetweenStartAndToday == 7)
                    {
                        SendMailReminder(2, textMesseRestmengenlieferung);
                    }
                }
                if (date.DayOfWeek == DayOfWeek.Wednesday)
                {
                    if (daysBetweenStartAndToday == 7)
                    {
                        SendMailReminder(2, textMesseRestmengenlieferung);
                    }
                }
                if (date.DayOfWeek == DayOfWeek.Thursday)
                {
                    if (daysBetweenStartAndToday == 7)
                    {
                        SendMailReminder(2, textMesseRestmengenlieferung);
                    }
                }

                if (date.DayOfWeek == DayOfWeek.Friday)
                {
                    if (daysBetweenStartAndToday > 6 && daysBetweenStartAndToday < 10)
                    {
                        SendMailReminder(2, textMesseRestmengenlieferung);
                    }
                }
            }
            return(true);
        }
示例#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));
            }
        }