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))); }
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)); }
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; }
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)); }