private void DoAddition(DialogConfigBLEntities entities, AntragItem item, AntragItem.Item.SubItem x, List <string> errors) { var existingItem = entities.UserMappings.Find(x.handyNummer, item.Data.datenbankId); if (existingItem == null) { var um = new UserMapping() { DatenbankId = item.Data.datenbankId, HandyNummer = x.handyNummer, IsAdmin = x.isAdmin, IsGesperrt = x.isGesperrt, Name = x.name, Vorname = x.vorname, Module = x.module, ShortName = x.shortName }; entities.UserMappings.Add(um); try { entities.SaveChanges(); } catch (Exception ex) { errors.Add(string.Format("ADDITION: Ausnahme: '{2}' für HandyNummer '{0}' und DatanbankId {1}", ex.Message, x.handyNummer, item.Data.datenbankId)); } } else { errors.Add(string.Format("ADDITION: Einen Eintrag in Tabelle UserMappings mit HandyNummer '{0}' und DatanbankId {1} existiert bereits und keine Duplizierungen sind erlaubt!", x.handyNummer, item.Data.datenbankId)); } }
private void DoModification(DialogConfigBLEntities entities, AntragItem item, AntragItem.Item.SubItem x, List <string> errors) { var p = from z in entities.UserMappings where z.HandyNummer == x.handyNummer && z.DatenbankId == item.Data.datenbankId select z; if (p.Any()) { var um = p.First(); um.IsAdmin = x.isAdmin; um.IsGesperrt = x.isGesperrt; um.Name = x.name; um.Vorname = x.vorname; um.ShortName = x.shortName; um.Module = x.module; try { entities.SaveChanges(); } catch (Exception ex) { errors.Add(string.Format("MODIFICATION: Ausnahme: '{2}' für HandyNummer '{0}' und DatanbankId {1}", ex.Message, x.handyNummer, item.Data.datenbankId)); } } else { errors.Add(string.Format("MODIFICATION: Keinen Eintrag in Tabelle UserMappings mit HandyNummer '{0}' und DatanbankId {1} gefunden!", x.handyNummer, item.Data.datenbankId)); } }
private void DoDeletion(DialogConfigBLEntities entities, AntragItem item, AntragItem.Item.SubItem x, List <string> errors) { var p = from z in entities.UserMappings where z.HandyNummer == x.handyNummer && z.DatenbankId == item.Data.datenbankId select z; if (p.Any()) { var um = p.First(); entities.UserMappings.Remove(um); try { entities.SaveChanges(); } catch (Exception ex) { errors.Add(string.Format("DELETION: Ausnahme: '{2}' für HandyNummer '{0}' und DatanbankId {1}", ex.Message, x.handyNummer, item.Data.datenbankId)); } } else { errors.Add(string.Format("DELETION: Keinen Eintrag in Tabelle UserMappings mit HandyNummer '{0}' und DatanbankId {1} gefunden!", x.handyNummer, item.Data.datenbankId)); } }
private async void Confirm(int antragId) { var dr = MessageBox.Show("Wollen sie den Antrag (" + antragId + ") wirklich abschicken?", "Bestätigung", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (dr != MessageBoxResult.Yes) { return; } bool inDesigner = DesignerProperties.GetIsInDesignMode(new DependencyObject()); if (!inDesigner) { var httpClient = new HttpClient(); using (httpClient) { var ignoreList = new List <string>(); foreach (var antrag in _Liste) { foreach (var item in antrag.Data.items) { if (item.isIgnoriert) { ignoreList.Add(item.handyNummer); } } } var ignore = ""; if (ignoreList.Count > 0) { ignore = string.Join(",", ignoreList.ToArray()); } httpClient.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"); var uri = ConfigurationManager.AppSettings["DialogPortal"] + "/Admin/ConfirmAntrag?antragId=" + antragId + "&ignore=" + ignore; var response = await httpClient.GetAsync(new Uri(uri, UriKind.Absolute)); response.EnsureSuccessStatusCode(); var result = await response.Content.ReadAsStringAsync(); AntragItem itemToRemove = null; if (result == "ok") { foreach (var item in _Liste) { if (item.AntragId == antragId) { itemToRemove = item; } } if (itemToRemove != null) { _Liste.Remove(itemToRemove); } } else { MessageBox.Show(result); // Buhhh } } } else { AntragItem itemToRemove = null; foreach (var item in _Liste) { if (item.AntragId == antragId) { itemToRemove = item; } } if (itemToRemove != null) { _Liste.Remove(itemToRemove); } } if (_Liste.Count > 0) { SelectedAntragId = _Liste[0].AntragId; } }
// GET: GetAntrag public ActionResult ConfirmAntrag(int antragId, string ignore) { var ignoreList = new List <string>(); if (!string.IsNullOrEmpty(ignore)) { ignoreList = ignore.Split(',').ToList(); } var errors = new List <string>(); try { var entities = new DialogConfigBLEntities(); using (entities) { var q = from x in entities.Antrags where x.AntragId == antragId select x; // Aktualisieren if (q.Any()) { var a = q.First(); var item = new AntragItem() { AntragId = antragId, FormData = a.FormData }; // foreach (var x in item.Data.items) { if (ignoreList.Contains(x.handyNummer)) { continue; } if (x.status == "modified") { DoModification(entities, item, x, errors); } else if (x.status == "added") { DoAddition(entities, item, x, errors); } else if (x.status == "deleted") { DoDeletion(entities, item, x, errors); } else { errors.Add(string.Format("Status '{0}' unbekannt", x.status)); } } if (errors.Count > 0) { return(Content(PrepareErrorMessage(errors))); } else { a.Erledigt = true; entities.SaveChanges(); // wegen a.Erledigt = true!! return(Content("ok")); } } else { errors.Add(string.Format("Antrag in Tabelle Antrags mit antragId {0} nicht vorhanden. Keine Änderung wurde durchgeführt.", antragId)); return(Content(PrepareErrorMessage(errors))); } } } catch (Exception ex) { return(Content(PrepareErrorMessage(ex))); } }