public ActionResult Anfrage(Reservierung reservierung) { if (reservierung == null) { return(RedirectToAction("Anfrage")); } if (!ModelState.IsValid) { return(View(reservierung)); } else { rep = new RepositoryReservierungDB(); rep.Open(); if (rep.Insert(reservierung)) { return(View("Message", new Message("Anfrage", "Ihre Anfrage wurden erfolgreich abgespeichert"))); } else { rep.Close(); return(View("Message", new Message("Anfrage", "Ihre Anfrage konnten nicht gespeichert werden"))); } } }
public async Task ReservierungBestaetigenAsync(Reservierung reservierung) { var angebot = await _angebotService.LoadAngebotAsync(reservierung.AnbieterID + "/" + reservierung.AngebotID, DateTime.MinValue); if (_loginService.AnbieterId != reservierung.AnbieterID) { #if DEBUG _notificationService.SendScheduledReservierungNotificationAsync("Reservierungs-Erinnerung!", "'" + angebot.Ueberschrift + "' wurde für dich morgen reserviert - denke an die Abholung!", DateTimeOffset.Now.AddSeconds(10)); #endif _notificationService.SendScheduledReservierungNotificationAsync("Reservierungs-Erinnerung!", "'" + angebot.Ueberschrift + "' wurde für dich morgen reserviert - denke an die Abholung!", reservierung.Zeitraum.Von.AddDays(-1).Date); } List <Reservierung> reservierungen = new List <Reservierung>(); try { var reservierungenVault = _vault.Retrieve(NUTZ_MICH_RES, _loginService.AnbieterId); var savedRes = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Reservierung> >(reservierungenVault.Password); reservierungen.AddRange(savedRes); _vault.Remove(reservierungenVault); } catch { } reservierungen.Add(reservierung); _vault.Add(new PasswordCredential(NUTZ_MICH_RES, _loginService.AnbieterId, Newtonsoft.Json.JsonConvert.SerializeObject(reservierungen))); }
public static string DeleteReservierung(Reservierung reservierung) { try { string json = JsonConvert.SerializeObject(reservierung); return(DELETE(json, _WebService.Reservierung)); } catch (Exception e) { return(e.Message); } }
public async Task <string> CheckReservierungAsync(Reservierung reservierung) { var reservierungen = await GetReservierungenAsync(reservierung.AnbieterID, reservierung.AngebotID); foreach (var res in reservierungen) { if ((res.Von < reservierung.Zeitraum.Von && reservierung.Zeitraum.Von < res.Bis) || //Von überschneidet sich (res.Von < reservierung.Zeitraum.Bis && reservierung.Zeitraum.Bis < res.Bis) || //Bis überschneidet sich (reservierung.Zeitraum.Von < res.Von && res.Bis < reservierung.Zeitraum.Bis)) //Bestehende Reservierung würde "geschluckt" { return("In diesem Zeitraum liegt bereits eine Reservierung."); } } return(""); }
private void CheckReservierungData(Reservierung user) { if (user == null) { return; } if (string.IsNullOrEmpty(user.Firstname.Trim())) { ModelState.AddModelError("Firstname", "Nachname ist ein Pflichtfeld."); } if (string.IsNullOrEmpty(user.Lastname.Trim())) { ModelState.AddModelError("Lastname", "Benutzername ist ein Pflichtfeld."); } }
public bool Insert(Reservierung reservierung) { if (reservierung == null) { return(false); } DbCommand cmdInsert = this._connection.CreateCommand(); cmdInsert.CommandText = "INSERT INTO users VALUES(null, @firstname, @lastname, @arrivalDatem @departureDate)"; DbParameter paramFN = cmdInsert.CreateParameter(); paramFN.ParameterName = "firstname"; paramFN.Value = reservierung.Firstname; paramFN.DbType = DbType.String; DbParameter paramLN = cmdInsert.CreateParameter(); paramLN.ParameterName = "lastname"; paramLN.Value = reservierung.Lastname; paramLN.DbType = DbType.String; DbParameter paramArrivalDate = cmdInsert.CreateParameter(); paramArrivalDate.ParameterName = "arrivalDate"; paramArrivalDate.Value = reservierung.ArrivalDate; paramArrivalDate.DbType = DbType.Date; DbParameter paramDepartureDate = cmdInsert.CreateParameter(); paramDepartureDate.ParameterName = "departureDate"; paramDepartureDate.Value = reservierung.DepartureDate; paramDepartureDate.DbType = DbType.Date; //Parameter mit dem command verbinden cmdInsert.Parameters.Add(paramFN); cmdInsert.Parameters.Add(paramLN); cmdInsert.Parameters.Add(paramArrivalDate); cmdInsert.Parameters.Add(paramDepartureDate); return(cmdInsert.ExecuteNonQuery() == 1); }
public ActionResult Anfrage(Reservierung user) { // Parameter user:hier sind die eingegebenen Daten des Formulars enthalten if (user == null) { return(RedirectToAction("Registration")); } //2. Formulardaten überprüfen - muss immer gemacht werden // auch wenn z.b das Formular mit HIlfe von JavaScript // überprüft wurde CheckReservierungData(user); //falls Fehler vorhanden sind if (!ModelState.IsValid) { // wird rufen das FOrmular erneut auf // das Formular wird mit dem vorhergehenden Werten befüllt return(View(user)); } else { // eine Instanz unserer DB-Klasse erzeugen rep = new RepositoryReservierungDB(); // Verbindung zum BD-Server herstellen rep.Open(); // versuchen die Userdaten einzutragen if (rep.Insert(user)) { // Verbindung schließen rep.Close(); // Erfolgsmeldung ausgeben return(View("Message", new Message("Reservierung", "Ihre Daten wurde erfolgreich abgespeichert"))); } else { rep.Close(); // Fehlermeldung ausgeben return(View("Message", new Message("Reservierung", "Ihre Daten konnten nicht abgespeichert werden"))); } } }
private void ReserveOnDB(Spielzeug spielzeug, DateTime datumVon, DateTime datumBis) { Reservierung reservierung = new Reservierung() { SpielzeugId = spielzeug.SpielzeugId, Spielzeug = spielzeug, DatumVon = datumVon, DatumBis = datumBis }; db.Reservierungs.Add(reservierung); if (spielzeug.Reservierungen == null) { spielzeug.Reservierungen = new List <Reservierung>(); } spielzeug.Reservierungen.Add(reservierung); db.Entry(spielzeug).State = EntityState.Modified; db.SaveChanges(); }
public async Task <bool> SaveReservierungAsync(Reservierung reservierung) { await InitWriteConnectionAsync(); try { var reservierungBytes = Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(reservierung)); var upload = await _writeConnection.ObjectService.UploadObjectAsync(_writeConnection.Bucket, "Angebote/" + reservierung.AnbieterID + "/" + reservierung.AngebotID + "/Reservierungen/" + GetTimeStamp(reservierung.Zeitraum), new uplink.NET.Models.UploadOptions() { Expires = reservierung.Zeitraum.Bis.DateTime.AddDays(1) }, reservierungBytes, false); await upload.StartUploadAsync(); return(upload.Completed); } catch { return(false); } }
private async void _chatPollingService_NachrichtErhalten(Contracts.Models.Angebot angebot, Models.ChatNachricht nachricht) { var profil = await _profilService.GetProfilAsync(nachricht.SenderAnbieterID); if (!string.IsNullOrEmpty(nachricht.TechnischerNachrichtenTyp) && nachricht.TechnischerNachrichtenTyp == Reservierung.TECHNISCHER_NACHRICHTENTYP) { await Factory.GetNotificationService().SendChatNotificationAsync(profil.Nickname + " - " + angebot.Ueberschrift, Reservierung.GetChatMessageText(nachricht.Nachricht), angebot.Id, nachricht.SenderAnbieterID); } else { await Factory.GetNotificationService().SendChatNotificationAsync(profil.Nickname + " - " + angebot.Ueberschrift, nachricht.Nachricht, angebot.Id, nachricht.SenderAnbieterID); } }
public bool Insert(Reservierung user) { // 1. Parameter überprüfen if (user == null) { return(false); } // ein leeres SQL-Comamnd erzeugen DbCommand cmdInsert = this._connection.CreateCommand(); // @firstname, @lastname, ... Paramter => verhindern SQL-Injections // müssen immer verwendet werden wenn es sich um Daten des Benutzers handelt // @ firstname ... firstname kann beliebig benannt werden cmdInsert.CommandText = "Insert Into reservierung Values(null, @firstname, @lastname, @bearbeitet, @ankunftsdatum, @abreisedatum, @personen)"; // Parameter erzeugt DbParameter paramFN = cmdInsert.CreateParameter(); paramFN.ParameterName = "firstname"; paramFN.Value = user.Firstname; paramFN.DbType = DbType.String; DbParameter paramLN = cmdInsert.CreateParameter(); paramLN.ParameterName = "lastname"; paramLN.Value = user.Lastname; paramLN.DbType = DbType.String; DbParameter parambe = cmdInsert.CreateParameter(); parambe.ParameterName = "bearbeitet"; parambe.Value = user.Bearbeitet; parambe.DbType = DbType.Boolean; DbParameter paramAnkunft = cmdInsert.CreateParameter(); paramAnkunft.ParameterName = "ankunftsdatum"; paramAnkunft.Value = user.Ankunftsdatum; paramAnkunft.DbType = DbType.Date; DbParameter paramAbreise = cmdInsert.CreateParameter(); paramAbreise.ParameterName = "abreisedatum"; paramAbreise.Value = user.Abreisedatum; paramAbreise.DbType = DbType.Date; DbParameter paramPerson = cmdInsert.CreateParameter(); paramPerson.ParameterName = "personen"; paramPerson.Value = user.Personen; paramPerson.DbType = DbType.Int32; // Parameteer mit dem Comamnd verbinden cmdInsert.Parameters.Add(paramFN); cmdInsert.Parameters.Add(paramLN); cmdInsert.Parameters.Add(parambe); cmdInsert.Parameters.Add(paramAnkunft); cmdInsert.Parameters.Add(paramAbreise); cmdInsert.Parameters.Add(paramPerson); // ExecuteNonQuery() ... wird bein INSERT, UPDATE, und DELETE verwendet diese Methode liefert die ANzahl der betroffenen Datensätze zurück return(cmdInsert.ExecuteNonQuery() == 1); }
public bool UpdateUserData(int id, Reservierung newUserData) { DbCommand cmdUpdate = this._connection.CreateCommand(); cmdUpdate.CommandText = "UPDATE reservierung SET firstname=@firstname, lastname=@lastname, bearbeitet=@bearbeitet + " + "ankunftsdatum=@ankunftsdatum, abreisedatum=@abreisedatum, personen=@personen + " + "WHERE id=@resId"; DbParameter paramId = cmdUpdate.CreateParameter(); paramId.ParameterName = "resId"; paramId.Value = newUserData.ID; paramId.DbType = DbType.Int32; DbParameter paramFirstname = cmdUpdate.CreateParameter(); paramFirstname.ParameterName = "firstname"; paramFirstname.Value = newUserData.Firstname; paramFirstname.DbType = DbType.String; DbParameter paramLastname = cmdUpdate.CreateParameter(); paramLastname.ParameterName = "lastname"; paramLastname.Value = newUserData.Lastname; paramLastname.DbType = DbType.String; DbParameter parambe = cmdUpdate.CreateParameter(); parambe.ParameterName = "bearbeitet"; parambe.Value = newUserData.Bearbeitet; parambe.DbType = DbType.Boolean; DbParameter paramAnkunft = cmdUpdate.CreateParameter(); paramAnkunft.ParameterName = "ankunftsdatum"; paramAnkunft.Value = newUserData.Ankunftsdatum; paramAnkunft.DbType = DbType.Date; DbParameter paramAbreise = cmdUpdate.CreateParameter(); paramAbreise.ParameterName = "abreisedatum"; paramAbreise.Value = newUserData.Abreisedatum; paramAbreise.DbType = DbType.Date; DbParameter paramPerson = cmdUpdate.CreateParameter(); paramPerson.ParameterName = "personen"; paramPerson.Value = newUserData.Personen; paramPerson.DbType = DbType.Int32; cmdUpdate.Parameters.Add(paramId); cmdUpdate.Parameters.Add(paramFirstname); cmdUpdate.Parameters.Add(paramLastname); cmdUpdate.Parameters.Add(parambe); cmdUpdate.Parameters.Add(paramAnkunft); cmdUpdate.Parameters.Add(paramAbreise); cmdUpdate.Parameters.Add(paramPerson); return(cmdUpdate.ExecuteNonQuery() == 1); }
public ReservierungViewModel() { Reservierung = new Reservierung(); }
public async Task <bool> Run(JobInfo jobInfo, CancellationToken cancelToken) { if (!_loginService.IsLoggedIn()) { return(true); } var erhalteneNachrichten = new List <ChatNachricht>(); await foreach (var angebot in _angebotService.GetMeineAsync()) { var nachrichten = await _chatService.GetNachrichtenAsync(angebot, true); foreach (var nachricht in nachrichten) { erhalteneNachrichten.Add(nachricht); } } var buffered = _chatBufferService.LoadBufferedChats(); foreach (var chat in buffered) { var nachrichten = await _chatService.GetNachrichtenAsync(await _angebotService.LoadAngebotAsync(chat.AnbieterID + "/" + chat.AngebotID, DateTime.MinValue), true); foreach (var nachricht in nachrichten) { erhalteneNachrichten.Add(nachricht); } } foreach (var nachricht in erhalteneNachrichten) { if (!string.IsNullOrEmpty(nachricht.TechnischerNachrichtenTyp) && nachricht.TechnischerNachrichtenTyp == Reservierung.TECHNISCHER_NACHRICHTENTYP) { _notification.SendChatNotificationAsync(nachricht.SenderAnbieterID, Reservierung.GetChatMessageText(nachricht.Nachricht), nachricht.AngebotID, nachricht.SenderAnbieterID); } else { _notification.SendChatNotificationAsync(nachricht.SenderAnbieterID, nachricht.Nachricht, nachricht.AngebotID, nachricht.SenderAnbieterID); } } return(true); }