コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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;
            }
        }