public IHttpContext ResponseOverdue(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); DataTable dt = Program.Sql.GetViewMsgOverdue(); StringBuilder builder = new StringBuilder(); if (dt.Rows.Count == 0) { builder.Append(MelBoxWeb.HtmlAlert(3, "Keine Zeitüberschreitungen festgestellt", "Zur Zeit ist kein überwachter Sender in Verzug.")); dt = Program.Sql.GetMonitoredContactList(); builder.Append(MelBoxWeb.HtmlTablePlain(dt, false)); } else { builder.Append(MelBoxWeb.HtmlTablePlain(dt, false)); } const string info = "Den einzelnen Benutzern kann ein Wert 'Max_Inaktiv' [in Stunden] zugewiesen werden. " + "Kommt von diesen Benutzern innherhalb der eingestellten Zeit keine Meldung, sollte der Meldeweg (SMS, Email) geprüft werden."; builder.Append(MelBoxWeb.HtmlInfoSidebar("Überwachte Meldungen", info)); #if DEBUG builder.Append("<p class='w3-pink'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), dt.TableName, logedInUserName)); return(context); }
public static string ProcessFormCompany(Dictionary <string, string> args, bool createNewCompany) { StringBuilder builder = new StringBuilder(); int companyId = 0; string name = "-KEIN NAME-"; string address = string.Empty; string city = string.Empty; foreach (string arg in args.Keys) { switch (arg) { case "CompanyId": companyId = int.Parse(args[arg]); break; case "Name": name = args[arg]; //.Replace('+', ' '); break; case "Adresse": address = args[arg]; //.Replace('+', ' '); break; case "Ort": city = args[arg]; //.Replace('+', ' '); break; } } if (createNewCompany || companyId == 0) { bool success = Program.Sql.InsertCompany(name, address, city); if (!success) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler beim Schreiben in die Datenbank", "Der Firmeneintrag für '" + name + "' konnte nicht erstellt werden.")); } else { builder.Append(MelBoxWeb.HtmlAlert(3, "Firma '" + name + "' erstellt", "Die Firma '" + name + "' wurde in der Datenbank neu erstellt.")); } } else { if (!Program.Sql.UpdateCompany(companyId, name, address, city)) { builder.Append(MelBoxWeb.HtmlAlert(2, "Keine Änderungen für Firma '" + name + "'", "Die Änderungen konnten nicht in die Datenbank übertragen werden.")); } else { builder.Append(MelBoxWeb.HtmlAlert(3, "Änderungen für Firma '" + name + "' übernommen", "Die Änderungen an Firma '" + name + "' wurden in der Datenbank gespeichert.")); } } return(builder.ToString()); }
public IHttpContext ResponseAccount(IHttpContext context) { string caption = "Benutzerkonto"; string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); Dictionary <string, string> action = new Dictionary <string, string> { { "/account/update", "Änderungen an Kontakt speichern" } }; if (isAdmin) { action.Add("/account/create", "Neuen Kontakt mit diesen Angaben einrichten"); action.Add("/account/delete", "Diesen Kontakt löschen"); } StringBuilder builder = new StringBuilder(); int chosenContactId = logedInUserId; if (requestingPage == caption && args.ContainsKey("selectedContactId")) //Ist Antwort von dieser Seite { int.TryParse(args["selectedContactId"].ToString(), out chosenContactId); } else if (chosenContactId == 0) { builder.Append(MelBoxWeb.HtmlAlert(2, "Ungültiger Aufruf", "Für Einsicht in das Benutzerkonto bitte einloggen.")); } if (logedInUserId != 0) { DataTable dt; if (isAdmin) { dt = Program.Sql.GetViewContactInfo(); } else { dt = Program.Sql.GetViewContactInfo(chosenContactId); } DataTable dtCompany = Program.Sql.GetCompany(); builder.Append(MelBoxWeb.HtmlFormAccount(dt, dtCompany, chosenContactId, isAdmin)); } #if DEBUG builder.Append("<p class='w3-pink w3-mobile'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), caption, logedInUserName)); return(context); }
public IHttpContext ResponseBlockedDelete(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); #region Inhalt ermitteln int contentId = 0; if (args.ContainsKey("selectedRow")) { int.TryParse(args["selectedRow"].ToString(), out contentId); } #endregion StringBuilder builder = new StringBuilder(); if (contentId == 0) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler", "Die übergebene Nachricht konnte nicht zugeordnet werden.")); } else { if (!Program.Sql.DeleteMessageBlocked(contentId)) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler Nachricht entsperren", "Die Nachricht mit der Nr. " + contentId + " konnte nicht aus der Sperrliste freigegeben werden.")); } else { builder.Append(MelBoxWeb.HtmlAlert(3, "Nachricht aus der Sperrliste genommen", "Die gesperrte Nachricht mit der Nr. " + contentId + " wurde durch '" + logedInUserName + "' wieder freigegeben.")); } } Dictionary <string, string> action = new Dictionary <string, string>(); if (isAdmin) { action.Add("/blocked/update", "Gesperrte Nachricht bearbeiten"); action.Add("/blocked/delete", "Aus Sperrliste entfernen"); } DataTable dt = Program.Sql.GetViewMsgBlocked(); builder.Append(MelBoxWeb.HtmlTableBlocked(dt, 0, isAdmin)); builder.Append(MelBoxWeb.HtmlEditor(action)); #if DEBUG builder.Append("<p class='w3-pink'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), dt.TableName, logedInUserName)); return(context); }
public IHttpContext Login(IHttpContext context) { string caption = "Login"; //Überschrift der Seite string newGuid = string.Empty; //Nur füllen, wenn neue Benutzeranmeldung string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); StringBuilder builder = new StringBuilder(); if (args.ContainsKey("name") && args.ContainsKey("password")) { string name = args["name"]; //.Replace('+', ' '); string password = args["password"]; newGuid = MelBoxWeb.CheckLogin(name, password); if (newGuid.Length == 0) { builder.Append(MelBoxWeb.HtmlAlert(2, "Login fehlgeschlagen", "Login für Benutzer '" + name + "' fehlgeschlagen.<br>Benutzer und Passwort korrekt?")); } else { User newLogedInUser = MelBoxWeb.GetUserFromGuid(newGuid); guid = newGuid; logedInUserName = newLogedInUser.Name; logedInUserId = newLogedInUser.Id; isAdmin = newLogedInUser.IsAdmin; } } if (guid.Length == 0 || logedInUserId == 0) { builder.Append(MelBoxWeb.HtmlLogin()); } else { builder.Append(MelBoxWeb.HtmlAlert(4, isAdmin ? "Angemeldet als Administrator" : "Angemeldet als Benutzer", string.Format("[{0}] {1}", logedInUserId, logedInUserName))); builder.Append(MelBoxWeb.HtmlLogout()); } #if DEBUG builder.Append("<p class='w3-pink'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), caption, logedInUserName, newGuid)); return(context); }
public IHttpContext ResponseCompany(IHttpContext context) { string caption = "Firmenkonto"; int companyId = 0; string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); if (args.ContainsKey("CompanyId")) { int.TryParse(args["CompanyId"].ToString(), out companyId); } //Dictionary<string, string> action = new Dictionary<string, string>(); //if (isAdmin) //{ // action.Add("/company/create", "Firma neu anlegen"); // action.Add("/company/update", "Firmeninformationen ändern"); // action.Add("/company/delete", "Firma löschen"); //} DataTable dtCompany = Program.Sql.GetCompany(); StringBuilder builder = new StringBuilder(); builder.Append(MelBoxWeb.HtmlFormCompany(dtCompany, companyId, isAdmin)); //builder.Append(MelBoxWeb.HtmlEditor(action)); int chosenContactId = logedInUserId; if (requestingPage == caption && args.ContainsKey("selectedContactId")) //Ist Antwort von dieser Seite { int.TryParse(args["selectedContactId"].ToString(), out chosenContactId); } else if (chosenContactId == 0) { builder.Append(MelBoxWeb.HtmlAlert(2, "Ungültiger Aufruf", "Für Einsicht Benutzerkonto bitte einloggen.")); } #if DEBUG builder.Append("<p class='w3-pink w3-mobile'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), caption, logedInUserName)); return(context); }
public IHttpContext ResponseBlockedCreate(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); #region Inhalt ermitteln int recMsgId = MelBoxWeb.GetArgInt(args, "selectedRow"); int contentId = Program.Sql.GetContentId(recMsgId); #endregion StringBuilder builder = new StringBuilder(); if (contentId == 0) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler", "Die übergebene Nachricht konnte nicht zugeordnet werden.")); } else { Program.Sql.InsertMessageBlocked(contentId); string msg = "Die Weiterleitung der Nachricht Nr. " + contentId + " wurde durch den Benutzer '" + logedInUserName + "' zu bestimmten Zeiten gesperrt."; builder.Append(MelBoxWeb.HtmlAlert(3, "Nachricht in die Sperrliste aufgenommen", msg)); Program.Sql.Log(MelBoxSql.LogTopic.Shift, MelBoxSql.LogPrio.Warning, msg); } Dictionary <string, string> action = new Dictionary <string, string>(); if (isAdmin) { action.Add("/blocked/update", "Gesperrte Nachricht bearbeiten"); action.Add("/blocked/delete", "Aus Sperrliste entfernen"); } DataTable dt = Program.Sql.GetViewMsgBlocked(); builder.Append(MelBoxWeb.HtmlTableBlocked(dt, 0, isAdmin)); builder.Append(MelBoxWeb.HtmlEditor(action)); #if DEBUG builder.Append("<p class='w3-pink'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), dt.TableName, logedInUserName)); return(context); }
public IHttpContext ResponseRegister(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); StringBuilder builder = new StringBuilder(); builder.Append(MelBoxWeb.HtmlAlert(4, "Registrierung", "Anfragen zur Registrierung gehen an den Administrator, der sie händisch freigeschaltet. <br>Bei Anfrage bitte den gewünschten Nutzernamen angeben. <br>Nach Freischaltung bitte selbst unter 'Account' ein Passwort vergeben.")); builder.Append(MelBoxWeb.HtmlAlert(2, "Bitte beachten", "Es ist zur Zeit keine Registrierungs-Prozedur implementiert. <a href='mailto:[email protected]'>Email</a>")); #if DEBUG builder.Append("<p class='w3-pink'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), "Registrierung", logedInUserName)); return(context); }
public IHttpContext ResponseAccountUpdate(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); StringBuilder builder = new StringBuilder(); int chosenContactId = MelBoxWeb.GetArgInt(args, "ContactId"); if (!isAdmin && chosenContactId != logedInUserId) { builder.Append(MelBoxWeb.HtmlAlert(2, "Keine Berechtigung", "Sie haben keine Berechtigung den Benutzer zu ändern.")); } else { builder.Append(MelBoxWeb.ProcessFormAccount(args, false)); } if (logedInUserId != 0) { DataTable dt; if (isAdmin) { dt = Program.Sql.GetViewContactInfo(); } else { dt = Program.Sql.GetViewContactInfo(chosenContactId); } DataTable dtCompany = Program.Sql.GetCompany(); builder.Append(MelBoxWeb.HtmlFormAccount(dt, dtCompany, chosenContactId, isAdmin)); } #if DEBUG builder.Append("<p class='w3-pink w3-mobile'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), "Benutzerkonto ändern", logedInUserName)); return(context); }
public IHttpContext ResponseAccountDelete(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); StringBuilder builder = new StringBuilder(); if (!isAdmin) { builder.Append(MelBoxWeb.HtmlAlert(2, "Keine Berechtigung", "Sie haben keine Berechtigung den Benutzer zu löschen.")); } else { int.TryParse(args["ContactId"].ToString(), out int contactId); string name = args["Name"]; if (contactId == 0) { builder.Append(MelBoxWeb.HtmlAlert(2, "Fehler", "Der Benutzer '" + name + "' konnte nicht gelöscht werden. Der Aufruf war fehlerhaft.")); } else { if (!Program.Sql.DeleteContact(contactId)) { builder.Append(MelBoxWeb.HtmlAlert(2, "Fehler beim löschen von '" + name + "'", "Der Benutzer " + contactId + " '" + name + "' konnte nicht aus der Datenbank gelöscht werden.")); } else { builder.Append(MelBoxWeb.HtmlAlert(3, "Benutzer '" + name + "' gelöscht", "Der Benutzer " + contactId + " '" + name + "' wurde aus der Datenbank gelöscht.")); } } } #if DEBUG builder.Append("<p class='w3-pink w3-mobile'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), "Benutzerkonto löschen", logedInUserName)); return(context); }
public IHttpContext ResponseCompanyDelete(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); StringBuilder builder = new StringBuilder(); if (!isAdmin) { builder.Append(MelBoxWeb.HtmlAlert(2, "Keine Berechtigung", "Sie haben keine Berechtigung den Firmeneintrag zu löschen.")); } else { int companyId = MelBoxWeb.GetArgInt(args, "CompanyId"); if (companyId != 0) { string name = MelBoxWeb.GetArgStr(args, "Name");//.Replace('+', ' '); if (!Program.Sql.DeleteCompany(companyId)) { builder.Append(MelBoxWeb.HtmlAlert(2, "Fehler beim Löschen von Firma '" + name + "'", "Die Firma '" + name + "' konnte nicht aus der Datenbank gelöscht werden.")); } else { builder.Append(MelBoxWeb.HtmlAlert(3, "Firma '" + name + "'gelöscht", "Die Firma '" + name + "' wurde aus der Datenbank gelöscht.")); } } else { builder.Append(MelBoxWeb.HtmlAlert(1, "Ungültiger Aufruf", "Die Firmeninformationen konnten nicht zugewiesen werden.")); } } #if DEBUG builder.Append("<p class='w3-pink w3-mobile'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), "Firmenkonto löschen", logedInUserName)); return(context); }
public IHttpContext ResponseShiftCreateOrUpdate(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); StringBuilder builder = new StringBuilder(); if (logedInUserId == 0) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler", "Der eingeloggte Benutzer konnte nicht zugeordnet werden.")); } else { builder.Append(MelBoxWeb.ProcessFormShift(args, logedInUserId, isAdmin)); } #region Tabelle anzeigen Dictionary <string, string> action = new Dictionary <string, string> { { "/shift/edit", "Bereitschaft bearbeiten" } }; if (isAdmin) { action.Add("/shift/delete", "Bereitschaft löschen"); } DataTable dt = Program.Sql.GetViewShift(); builder.Append(MelBoxWeb.HtmlTableShift(dt, 0, logedInUserId, isAdmin)); builder.Append(MelBoxWeb.HtmlEditor(action)); #endregion #if DEBUG builder.Append("<p class='w3-pink'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), "Bereitschaft erstellen", logedInUserName)); return(context); }
public IHttpContext ResponseCompanyUpdate(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); StringBuilder builder = new StringBuilder(); if (!isAdmin) { builder.Append(MelBoxWeb.HtmlAlert(2, "Keine Berechtigung", "Sie haben keine Berechtigung den Firmeneintrag zu ändern.")); } else { builder.Append(MelBoxWeb.ProcessFormCompany(args, false)); } #if DEBUG builder.Append("<p class='w3-pink w3-mobile'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), "Firmenkonto ändern", logedInUserName)); return(context); }
/// <summary> /// Verarbeitet die Anfrage aus dem Formular 'Benutzerkonto' /// </summary> /// <param name="args"></param> /// <param name="createNewAccount">Soll ein neuer Benutzer erstellt werden?</param> /// <returns>html - Rückmeldung der ausgeführten Operation</returns> public static string ProcessFormAccount(Dictionary <string, string> args, bool createNewAccount) { StringBuilder builder = new StringBuilder(); int contactId = 0; string name = "-KEIN NAME-"; string password = null; int companyId = -1; string email = null; ulong phone = 0; int sendSms = 0; //Hinweis: <input type='checkbox' > wird nur übertragen, wenn angehakt => immer zurücksetzten, wenn nicht gesetzt int sendEmail = 0; int maxInactivity = -1; foreach (string arg in args.Keys) { switch (arg) { //case "pageTitle": // if (args[arg] != "Benutzerkonto") // { // builder.Append(MelBoxWeb.HtmlAlert(1, "Ungültiger Aufruf", "Aufruf von ungültiger Stelle.")); // } // break; case "ContactId": contactId = int.Parse(args[arg]); break; case "Name": name = args[arg]; //.Replace('+', ' '); break; case "Passwort": if (args[arg].Length > 1) { password = args[arg]; } break; case "CompanyId": companyId = int.Parse(args[arg]); break; case "Email": email = args[arg]; break; case "Telefon": phone = GsmConverter.StrToPhone(args[arg]); break; case "Max_Inaktiv": maxInactivity = int.Parse(args[arg]); break; case "SendSms": if (args[arg].ToLower() == "on") { sendSms = 1; } else { sendSms = 0; } break; case "SendEmail": if (args[arg].ToLower() == "on") { sendEmail = 1; } else { sendEmail = 0; } break; default: break; } } if (createNewAccount) { if (password == null || password.Length < 4) { builder.Append(MelBoxWeb.HtmlAlert(2, "Fehler - Passwort ungültig", "Das vergebene Passwort entspricht nicht den Vorgaben. Der Benutzer wird nicht erstellt.")); } else { int newId = Program.Sql.InsertContact(name, password, companyId, email, phone, maxInactivity, sendSms == 1, sendEmail == 1); if (newId == 0) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler beim Schreiben in die Datenbank", "Der Benutzer '" + name + "' konnte nicht erstellt werden.")); } else { builder.Append(MelBoxWeb.HtmlAlert(3, "Benutzer '" + name + "' erstellt", "Der Benutzer '" + name + "' wurde in der Datenbank neu erstellt.")); } } } else { if (!Program.Sql.UpdateContact(contactId, name, password, companyId, phone, sendSms, email, sendEmail, string.Empty, maxInactivity)) { builder.Append(MelBoxWeb.HtmlAlert(2, "Keine Änderungen für Benutzer '" + name + "'", "Die Änderungen konnten nicht in die Datenbank übertragen werden.")); } else { builder.Append(MelBoxWeb.HtmlAlert(3, "Änderungen für Benutzer '" + name + "' übernommen", "Die Änderungen an Benutzer '" + name + "' wurden in der Datenbank gespeichert.")); } } return(builder.ToString()); }
public static string ProcessFormShift(Dictionary <string, string> args, int logedInUserId, bool isAdmin) { StringBuilder builder = new StringBuilder(); int shiftUserId = logedInUserId; int shiftId = 0; string name = "-KEIN NAME-"; DateTime date = DateTime.MinValue; int beginHour = 17; int endHour = 7; bool createWeekShift = false; // bool createNewShift = false; foreach (string arg in args.Keys) { switch (arg) { case "selectedRow": if (args[arg].StartsWith("Datum_")) { DateTime.TryParse(args["selectedRow"].ToString().Substring(6), out date); } else { int.TryParse(args["selectedRow"].ToString(), out shiftId); } break; case "ContactId": int.TryParse(args[arg].ToString(), out shiftUserId); break; case "Name": name = args[arg]; //.Replace('+', ' '); break; case "Datum": if (date == DateTime.MinValue) { date = DateTime.Parse(args["Datum"].ToString()).Date; } break; case "Beginn": beginHour = int.Parse(args[arg]); break; case "Ende": endHour = int.Parse(args[arg]); break; case "CreateWeekShift": // if (args[arg].ToLower() == "on") createWeekShift = true; break; } } if (shiftUserId == 0) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler Zuordnung", string.Format("Der Benutzer konnte der Bereitschaft nicht zugewiesen werden."))); return(builder.ToString()); } if (shiftId == 0) { //Neu erstellen DateTime firstStartTime = DateTime.Now; DateTime lastEndTime = DateTime.Now; if (createWeekShift) { date = date.AddDays(DayOfWeek.Monday - date.DayOfWeek); for (int i = 0; i < 7; i++) { DateTime StartTime = MelBoxSql.ShiftStandardStartTime(date); DateTime EndTime = MelBoxSql.ShiftStandardEndTime(date); if (i == 0) { firstStartTime = StartTime; } if (i == 6) { lastEndTime = EndTime; } Program.Sql.InsertShift(shiftUserId, StartTime, EndTime); date = date.AddDays(1); } } else { DateTime StartTime = date.AddHours(beginHour); DateTime EndTime = date.AddDays(1).AddHours(endHour); firstStartTime = StartTime; lastEndTime = EndTime; Program.Sql.InsertShift(shiftUserId, StartTime, EndTime); } builder.Append(MelBoxWeb.HtmlAlert(3, "Neue Bereitschaft erstellt", string.Format("Neue Bereitschaft für '{0}' vom {1} bis {2} erstellt.", name, firstStartTime, lastEndTime))); } else { //Update if (shiftUserId != logedInUserId && !isAdmin) { builder.Append(MelBoxWeb.HtmlAlert(2, "Nicht änderbar", string.Format("Sie können nur ihre eigenen Bereitschaftszeiten bearbeiten."))); } ////Admin: Darstellung anderer User //if (shiftUserId == 0) contactId = logedInContactId; //else logedInContactId = contactId; DateTime StartTime = date.AddHours(beginHour); DateTime EndTime = date.AddDays(1).AddHours(endHour); if (!Program.Sql.UpdateShift(shiftId, shiftUserId, StartTime, EndTime)) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler Bereitschaft Nr. " + shiftId + " bearbeiten", string.Format("Die Bereitschaft konnte nicht in der Datenbank geändert werden."))); } else { builder.Append(MelBoxWeb.HtmlAlert(3, "Bereitschaft Nr. " + shiftId + " geändert", string.Format("Die Bereitschaft Nr. {0} wurde geändert auf {1} im Zeitraum {2} bis {3}.", shiftId, name, StartTime, EndTime))); } } return(builder.ToString()); }
public IHttpContext ResponseBlockedUpdate(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); #region Inhalt ermitteln int recMsgId = MelBoxWeb.GetArgInt(args, "selectedRow"); int beginHour = MelBoxWeb.GetArgInt(args, "Beginn"); int endHour = MelBoxWeb.GetArgInt(args, "Ende"); int contentId = recMsgId; #endregion StringBuilder builder = new StringBuilder(); if (args.ContainsKey("Beginn") && args.ContainsKey("Ende")) { //int beginHour = int.Parse(args["Beginn"].ToString()); //int endHour = int.Parse(args["Ende"].ToString()); MelBoxSql.BlockedDays days = MelBoxSql.BlockedDays.None; if (args.ContainsKey("Mo")) { days |= MelBoxSql.BlockedDays.Monday; } if (args.ContainsKey("Di")) { days |= MelBoxSql.BlockedDays.Tuesday; } if (args.ContainsKey("Mi")) { days |= MelBoxSql.BlockedDays.Wendsday; } if (args.ContainsKey("Do")) { days |= MelBoxSql.BlockedDays.Thursday; } if (args.ContainsKey("Fr")) { days |= MelBoxSql.BlockedDays.Friday; } if (args.ContainsKey("Sa")) { days |= MelBoxSql.BlockedDays.Saturday; } if (args.ContainsKey("So")) { days |= MelBoxSql.BlockedDays.Sunday; } if (Program.Sql.UpdateMessageBlocked(contentId, beginHour, endHour, days)) { builder.Append(MelBoxWeb.HtmlAlert(3, "Sperrzeiten geändert", "Die Sperrzeiten für Nachricht Nr. " + contentId + " wurden geändert.")); } else { builder.Append(MelBoxWeb.HtmlAlert(2, "Sperrzeiten nicht geändert", "Die Sperrzeiten für Nachricht Nr. " + contentId + " konnten nicht geändert werden.")); } } Dictionary <string, string> action = new Dictionary <string, string>(); if (isAdmin) { action.Add("/blocked/update", "Änderungen speichern"); action.Add("/blocked/delete", "Aus Sperrliste entfernen"); } DataTable dt = Program.Sql.GetViewMsgBlocked(); builder.Append(MelBoxWeb.HtmlTableBlocked(dt, contentId, isAdmin)); builder.Append(MelBoxWeb.HtmlEditor(action)); #if DEBUG builder.Append("<p class='w3-pink'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), dt.TableName, logedInUserName)); return(context); }
public IHttpContext ResponseShiftDelete(IHttpContext context) { string payload = context.Request.Payload; Dictionary <string, string> args = MelBoxWeb.ReadPayload(payload); ReadGlobalFields(args); StringBuilder builder = new StringBuilder(); int shiftId = 0; if (args.ContainsKey("selectedRow")) { int.TryParse(args["selectedRow"].ToString(), out shiftId); } if (logedInUserId == 0) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler", "Der eingeloggte Benutzer konnte nicht zugeordnet werden.")); } else if (!isAdmin) { builder.Append(MelBoxWeb.HtmlAlert(2, "Keine Berechtigung", "Sie besitzen nicht die notwendigen Rechte für diese Aktion.")); } else if (shiftId == 0) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler Bereitschaft löschen", "Fehlerhafter Aufruf. Die zu löschende Bereitschaft konnte nicht zugeordnet werden.")); } else { if (!Program.Sql.DeleteShift(shiftId)) { builder.Append(MelBoxWeb.HtmlAlert(1, "Fehler Bereitschaft Nr. " + shiftId + " löschen", string.Format("Die Bereitschaft konnte nicht aus der Datenbank gelöscht werden."))); } else { string msg = string.Format("Die Bereitschaft Nr. {0} wurde durch den Benutzer '{1}' gelöscht.", shiftId, logedInUserName); builder.Append(MelBoxWeb.HtmlAlert(3, "Bereitschaft Nr. " + shiftId + " gelöscht", msg)); Program.Sql.Log(MelBoxSql.LogTopic.Shift, MelBoxSql.LogPrio.Warning, msg); } } #region Tabelle anzeigen Dictionary <string, string> action = new Dictionary <string, string> { { "/shift/edit", "Bereitschaft bearbeiten" } }; if (isAdmin) { action.Add("/shift/delete", "Bereitschaft löschen"); } DataTable dt = Program.Sql.GetViewShift(); builder.Append(MelBoxWeb.HtmlTableShift(dt, 0, logedInUserId, isAdmin)); builder.Append(MelBoxWeb.HtmlEditor(action)); #endregion #if DEBUG builder.Append("<p class='w3-pink'>" + payload + "</p>"); #endif context.Response.SendResponse(MelBoxWeb.HtmlCanvas(builder.ToString(), "Bereitschaft löschen", logedInUserName)); return(context); }