public static void DeleteSynonymForString(CMSDatabase db, int?itemID, HttpContext context, out bool successfullyCompleted) { if (itemID.HasValue) { SynonymForString synonymForString = db.SynonymsForStrings.FirstOrDefault(s => s.ID == itemID); if (synonymForString == null) { successfullyCompleted = false; return; } db.Remove(synonymForString); db.SaveChanges(); successfullyCompleted = true; LogManagementFunctions.AddAdminPanelLog( db: db, context: context, info: $"{synonymForString.String} -> {synonymForString.Synonym}: {(context.Items["LogLocalization"] as IAdminPanelLogLocalization)?.SynonymForStringDeleted}" ); } else { successfullyCompleted = false; } }
public static void EditSynonymForString(CMSDatabase db, int?itemID, SynonymForStringModel model, HttpContext context, out bool successfullyCompleted) { if (itemID.HasValue && !string.IsNullOrEmpty(model.String) && !string.IsNullOrEmpty(model.Synonym) && !model.String.Equals(model.Synonym, StringComparison.InvariantCultureIgnoreCase)) { SynonymForString match = db.SynonymsForStrings.AsNoTracking() .FirstOrDefault(s => s.ID != itemID.Value && (s.String.Equals(model.String, StringComparison.InvariantCultureIgnoreCase) && s.Synonym.Equals(model.Synonym, StringComparison.InvariantCultureIgnoreCase)) || (s.String.Equals(model.Synonym, StringComparison.InvariantCultureIgnoreCase) && s.Synonym.Equals(model.String, StringComparison.InvariantCultureIgnoreCase)) ); if (match != null) { successfullyCompleted = false; return; } SynonymForString synonymForString = db.SynonymsForStrings.FirstOrDefault(s => s.ID == itemID); string oldString = synonymForString.String; string oldSynonym = synonymForString.Synonym; synonymForString.String = model.String; synonymForString.Synonym = model.Synonym; db.SaveChanges(); successfullyCompleted = true; LogManagementFunctions.AddAdminPanelLog( db: db, context: context, info: $"{synonymForString.String} -> {synonymForString.Synonym}: " + $"{(context.Items["LogLocalization"] as IAdminPanelLogLocalization)?.SynonymForStringEditedTo} {oldString} -> {oldSynonym}" ); } else { successfullyCompleted = false; } }
public static void AddSynonymForString(CMSDatabase db, SynonymForStringModel model, HttpContext context, out bool successfullyCompleted) { if (!string.IsNullOrEmpty(model.String) && !string.IsNullOrEmpty(model.Synonym)) { SynonymForString match = db.SynonymsForStrings.AsNoTracking() .FirstOrDefault(s => (s.String.Equals(model.String, StringComparison.InvariantCultureIgnoreCase) && s.Synonym.Equals(model.Synonym, StringComparison.InvariantCultureIgnoreCase)) || (s.String.Equals(model.Synonym, StringComparison.InvariantCultureIgnoreCase) && s.Synonym.Equals(model.String, StringComparison.InvariantCultureIgnoreCase))); if (match != null) { successfullyCompleted = false; return; } SynonymForString synonymForString = new SynonymForString { String = model.String, Synonym = model.Synonym }; db.SynonymsForStrings.Add(synonymForString); try { db.SaveChanges(); } catch (DbUpdateException) { successfullyCompleted = false; return; } successfullyCompleted = true; LogManagementFunctions.AddAdminPanelLog( db: db, context: context, info: $"{synonymForString.String} -> {synonymForString.Synonym}: {(context.Items["LogLocalization"] as IAdminPanelLogLocalization)?.SynonymForStringAdded}" ); } else { successfullyCompleted = false; } }