コード例 #1
0
        private void RefreshVerfügbarkeit()
        {
            var reservierungHeute = Reservierungen.Where(r => r.Zeitraum.Von < DateTime.Now && DateTime.Now < r.Zeitraum.Bis);

            if (reservierungHeute.Count() == 0)
            {
                Verfuegbarkeit = Verfuegbarkeit.Verfuegbar;
                //Aktuell nicht verliehen
                var nächsteZukünftige = Reservierungen.Where(r => r.Zeitraum.Von > DateTime.Now);
                if (nächsteZukünftige.Count() != 0)
                {
                    VerfuegbarkeitsDetails = "Verfügbar bis " + nächsteZukünftige.OrderBy(r => r.Zeitraum.Von).First().Zeitraum.Von.AddDays(-1).ToString("d", new System.Globalization.CultureInfo("de-DE"));
                    VerfuegbarkeitsAmpel   = new SolidColorBrush(Colors.Orange);
                }
                else
                {
                    VerfuegbarkeitsDetails = "";
                    VerfuegbarkeitsAmpel   = Application.Current.Resources["NutzmichGruenBrush"] as SolidColorBrush; // new SolidColorBrush(Colors.DarkGreen);
                }
            }
            else
            {
                Verfuegbarkeit         = Verfuegbarkeit.Verliehen;
                VerfuegbarkeitsDetails = "Verfügbar ab " + reservierungHeute.First().Zeitraum.Bis.AddDays(1).ToString("d", new System.Globalization.CultureInfo("de-DE"));
                VerfuegbarkeitsAmpel   = Application.Current.Resources["NutzmichRosaBrush"] as SolidColorBrush;// new SolidColorBrush(Colors.DarkRed);
            }

            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Verfuegbarkeit)));
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(VerfuegbarkeitsDetails)));
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(VerfuegbarkeitsAmpel)));
        }
コード例 #2
0
        public ActionResult ReservierungEintragen(HomeReservierungModel model)
        {
            using (GastroEntities _db = new GastroEntities()) {
                Reservierungen reservierung = new Reservierungen();
                reservierung.Name          = model.Name;
                reservierung.Eingabedatum  = DateTime.Now;
                reservierung.Nachricht     = model.Mitteilung;
                reservierung.Personenzahl  = int.Parse(model.Personenzahl.ToString());
                reservierung.Telefonnummer = model.Telefon;
                reservierung.Datum         = model.Datum;
                reservierung.Uhrzeit       = model.Uhrzeit;
                _db.Reservierungen.Add(reservierung);
                _db.SaveChanges();
            }

            return(RedirectToAction("Reservierung", "Home", model));
        }
コード例 #3
0
        public async Task LoadReservierungenAsync(bool nachladenErzwingen = false)
        {
            if (_reservierungenGeladen && !nachladenErzwingen)
            {
                return;
            }

            var reservierungen = await Factory.GetReservierungService().GetReservierungenAsync(Angebot.AnbieterId, Angebot.Id);

            Reservierungen.Clear();
            foreach (var reservierung in reservierungen.Where(r => r.Bis >= DateTime.Now))
            {
                Reservierungen.Add(new ReservierungsZeitraumViewModel(reservierung));
            }

            RefreshVerfügbarkeit();

            _reservierungenGeladen = true;
        }
コード例 #4
0
        public IActionResult Index(IndexViewModel model)
        {
            if (model.Suche || !string.IsNullOrEmpty(Request.Cookies["Suche"]))

            {
                string suche_Beschreibung = "";

                string suche_Hersteller = "";
                string suche_Kategorie  = "";
                string suche_Knummer    = "";
                string suche_Lagerplatz = "";
                string suche_Lieferant  = "";
                string suche_Modelnr    = "";
                string suche_Seriennr   = "";
                string suche_Auftragsnr = "";

                if (!string.IsNullOrEmpty(model.Suche_Beschreibung))
                {
                    suche_Beschreibung = model.Suche_Beschreibung;
                    Response.Cookies.Append("Suche", suche_Beschreibung);
                }
                if (!string.IsNullOrEmpty(Request.Cookies["Suche"]) && string.IsNullOrEmpty(model.Suche_Beschreibung))
                {
                    suche_Beschreibung = Request.Cookies["Suche"];
                    Response.Cookies.Delete("Suche");
                }
                if (!string.IsNullOrEmpty(model.Suche_Hersteller))
                {
                    suche_Hersteller = model.Suche_Hersteller;
                }
                if (!string.IsNullOrEmpty(model.Suche_Kategorie))
                {
                    suche_Kategorie = model.Suche_Kategorie;
                }
                if (!string.IsNullOrEmpty(model.Suche_Kostenstellennr))
                {
                    suche_Knummer = model.Suche_Kostenstellennr;
                }
                if (!string.IsNullOrEmpty(model.Suche_Lagerplatz))
                {
                    suche_Lagerplatz = model.Suche_Lagerplatz;
                }
                if (!string.IsNullOrEmpty(model.Suche_Lieferanten))
                {
                    suche_Lieferant = model.Suche_Lieferanten;
                }
                if (!string.IsNullOrEmpty(model.Suche_Modellnummer))
                {
                    suche_Modelnr = model.Suche_Modellnummer;
                }
                if (!string.IsNullOrEmpty(model.Suche_Seriennummer))
                {
                    suche_Seriennr = model.Suche_Seriennummer;
                }
                if (!string.IsNullOrEmpty(model.Suche_Auftragsnummer))
                {
                    suche_Auftragsnr = model.Suche_Auftragsnummer;
                }


                var waren = _context.Ware.Join(_context.Hersteller, ware => ware.Hersteller_Id, hersteller => hersteller.Hersteller_Id,
                                               (ware, hersteller) => new
                {
                    Ware_Id           = ware.Ware_Id,
                    Ware_Beschreibung = ware.Ware_Beschreibung,
                    Ware_Hersteller   = hersteller.Hersteller_Beschreibung,
                    Kategorie_Name    = ware.Kategorie_Name,
                    Kostenstelle_Nr   = ware.Kostenstelle_Nr,
                    Lagerplatz_Id     = ware.Lagerplatz_Id,
                    Lieferant_Id      = ware.Lieferant_Id,
                    Modellnummer      = ware.Modellnummer,
                    Seriennr          = ware.Seriennr,
                    Auftragsnr        = ware.Auftragsnummer
                }).Join(_context.Kategorie, ware => ware.Kategorie_Name, kategorie => kategorie.Kategorie_Name,
                        (ware, kategorie) => new
                {
                    ware.Ware_Id,
                    Ware_Beschreibung      = ware.Ware_Beschreibung,
                    Ware_Hersteller        = ware.Ware_Hersteller,
                    Kategorie_Beschreibung = kategorie.Kategorie_Beschreibung,
                    Kostenstelle_Nr        = ware.Kostenstelle_Nr,
                    Lagerplatz_Id          = ware.Lagerplatz_Id,
                    Lieferant_Id           = ware.Lieferant_Id,
                    Modellnummer           = ware.Modellnummer,
                    Seriennr   = ware.Seriennr,
                    Auftragsnr = ware.Auftragsnr
                }
                        ).Join(_context.Kostenstelle, ware => ware.Kostenstelle_Nr, kostenstelle => kostenstelle.Kostenstelle_Nr,
                               (ware, kostenstelle) => new
                {
                    Ware_Id                = ware.Ware_Id,
                    Ware_Beschreibung      = ware.Ware_Beschreibung,
                    Ware_Hersteller        = ware.Ware_Hersteller,
                    Kategorie_Beschreibung = ware.Kategorie_Beschreibung,
                    Kostenstelle           = kostenstelle.Kostenstelle_Beschreibung,
                    Lagerplatz_Id          = ware.Lagerplatz_Id,
                    Lieferant_Id           = ware.Lieferant_Id,
                    Modellnummer           = ware.Modellnummer,
                    Seriennr               = ware.Seriennr,
                    Auftragsnr             = ware.Auftragsnr
                }
                               ).Join(_context.Lagerplatz, ware => ware.Lagerplatz_Id, lagerplatz => lagerplatz.Lagerplatz_Id,
                                      (ware, lagerplatz) => new
                {
                    Ware_Id                = ware.Ware_Id,
                    Ware_Beschreibung      = ware.Ware_Beschreibung,
                    Ware_Hersteller        = ware.Ware_Hersteller,
                    Kategorie_Beschreibung = ware.Kategorie_Beschreibung,
                    Kostenstelle           = ware.Kostenstelle,
                    Lagerplatz             = lagerplatz.Lagerplatz_Beschreibung,
                    Lieferant_Id           = ware.Lieferant_Id,
                    Modellnummer           = ware.Modellnummer,
                    Seriennr               = ware.Seriennr,
                    Auftragsnr             = ware.Auftragsnr
                }
                                      ).Join(_context.Lieferant, ware => ware.Lieferant_Id, lieferant => lieferant.Lieferant_Id,
                                             (ware, lieferant) => new
                {
                    Ware_Id           = ware.Ware_Id,
                    Ware_Beschreibung = ware.Ware_Beschreibung,
                    Hersteller        = ware.Ware_Hersteller,
                    Kategorie         = ware.Kategorie_Beschreibung,
                    Kostenstelle      = ware.Kostenstelle,
                    Lagerplatz        = ware.Lagerplatz,
                    Lieferant         = lieferant.Lieferant_Beschreibung,
                    Modellnummer      = ware.Modellnummer,
                    Seriennr          = ware.Seriennr,
                    Auftragsnr        = ware.Auftragsnr
                }
                                             )
                            .Where(a => a.Ware_Beschreibung.Contains(suche_Beschreibung))
                            .Where(a => a.Kategorie.Contains(suche_Kategorie))
                            .Where(a => a.Hersteller.Contains(suche_Hersteller))
                            .Where(a => a.Kostenstelle.Contains(suche_Knummer))
                            .Where(a => a.Lagerplatz.Contains(suche_Lagerplatz))
                            .Where(a => a.Lieferant.Contains(suche_Lieferant))
                            .Where(a => a.Modellnummer.Contains(suche_Modelnr))
                            .Where(a => a.Seriennr.Contains(suche_Seriennr))
                            .Where(a => a.Auftragsnr.Contains(suche_Auftragsnr))
                            .ToList();

                model.Waren                   = new List <Ware>();
                model.Reservierung            = new List <Reservierungen>();
                model.Lagerplatz_Beschreibung = new List <Lagerplatz>();

                model.Lagerplatz_Beschreibung = _context.Lagerplatz.ToList();

                foreach (var a in waren)
                {
                    model.Waren.Add(_context.Ware.Find(a.Ware_Id));
                }

                if (!string.IsNullOrEmpty(model.Sortierung))
                {
                    if (model.Sortierung == "Beschreibung")
                    {
                        if (model.Beschreiung)
                        {
                            model.Waren       = model.Waren.OrderByDescending(s => s.Ware_Beschreibung).ToList();
                            model.Beschreiung = false;
                        }
                        else
                        {
                            model.Waren       = model.Waren.OrderBy(s => s.Ware_Beschreibung).ToList();
                            model.Beschreiung = true;
                        }
                    }

                    if (model.Sortierung == "Menge")
                    {
                        if (model.Menge)
                        {
                            model.Waren = model.Waren.OrderByDescending(s => s.Menge).ToList();
                            model.Menge = false;
                        }
                        else
                        {
                            model.Waren = model.Waren.OrderBy(s => s.Menge).ToList();
                            model.Menge = true;
                        }
                    }

                    if (model.Sortierung == "Datum")
                    {
                        if (model.Datum)
                        {
                            model.Waren = model.Waren.OrderByDescending(s => s.Ware_Einlagerungsdatum).ToList();
                            model.Datum = false;
                        }
                        else
                        {
                            model.Waren = model.Waren.OrderBy(s => s.Ware_Einlagerungsdatum).ToList();
                            model.Datum = true;
                        }
                    }

                    if (model.Sortierung == "Lagerplatz")
                    {
                        if (model.Lagerplatz)
                        {
                            model.Lagerplatz_Beschreibung = model.Lagerplatz_Beschreibung.OrderByDescending(s => s.Lagerplatz_Beschreibung).ToList();
                            model.Datum = false;
                        }
                        else
                        {
                            model.Lagerplatz_Beschreibung = model.Lagerplatz_Beschreibung.OrderBy(s => s.Lagerplatz_Beschreibung).ToList();
                            model.Datum = true;
                        }
                    }
                }

                int t = model.Waren.Count();


                if (t >= model.ausgabeanzahl && model.ausgabeanzahl != 0)
                {
                    model.Waren.RemoveRange(model.ausgabeanzahl, (t - model.ausgabeanzahl));
                }


                foreach (var w in model.Waren)
                {
                    var k = _context.KommissionierungWaren.Where(s => s.Ware_Id.Equals(w.Ware_Id));
                    if (k.Any())
                    {
                        int Menge = 0;
                        foreach (var kw in k)
                        {
                            Menge = Menge + kw.Menge;
                        }


                        Reservierungen reservierungen = new Reservierungen
                        {
                            Reserviert = true,
                            Menge      = Menge
                        };
                        model.Reservierung.Add(reservierungen);
                    }
                    else
                    {
                        Reservierungen reservierungen = new Reservierungen
                        {
                            Reserviert = false,
                            Menge      = 0
                        };
                        model.Reservierung.Add(reservierungen);
                    }
                }
            }



            return(View(model));
        }