public int Create(EditionSectionEntity entity, int userId)
        {
            try
            {
                var editionSection = new EditionSection
                {
                    EditionId = entity.EditionId,
                    Sections  = entity.Sections,
                    CreatedOn = DateTime.Now,
                    CreatedBy = userId
                };

                _unitOfWork.EditionSectionRepository.Insert(editionSection);
                _unitOfWork.Save();

                return(editionSection.EditionSectionId);
            }
            catch (Exception exc)
            {
                return(-1);
            }
        }
        public ActionResult _AddEditionSection(EditionSectionAddModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { success = false, message = ModelState.GetErrors() }, JsonRequestBehavior.AllowGet));
            }

            var edition = EditionServices.GetEditionById(model.EditionId);

            if (edition == null)
            {
                return(Json(new { success = false, message = "Edition doesn't exist." }, JsonRequestBehavior.AllowGet));
            }

            var existingEditionSection = EditionSectionServices.Get(model.EditionId, model.Sections);

            if (existingEditionSection != null)
            {
                return(Json(
                           new
                {
                    success = false,
                    message =
                        $"Edition Section already exists: {existingEditionSection.Sections}"
                }, JsonRequestBehavior.AllowGet));
            }

            var editionSection = new EditionSectionEntity
            {
                EditionId = edition.EditionId,
                Sections  = model.Sections
            };

            EditionSectionServices.Create(editionSection, CurrentCedUser.CurrentUser.UserId);

            var scopeName = "Edition Section";

            // UPDATE EDITION
            UpdateEditionUpdateInfo(edition);

            // DIFF
            var diff = new List <Variance>
            {
                new Variance
                {
                    Prop = scopeName, ValA = null,
                    ValB = editionSection.Sections
                }
            };

            OnEditionUpdated(edition, diff);

            // UPDATE LOG
            var updatedFields = NotificationControllerHelper.GetUpdatedFieldsAsJson(scopeName,
                                                                                    new List <Variance> {
                new Variance {
                    Prop = scopeName
                }
            });

            UpdateLogInMemory(edition, updatedFields);

            return(Json(
                       new
            {
                success = true,
                message =
                    $"Edition Section has been added: {editionSection.Sections}"
            }, JsonRequestBehavior.AllowGet));
        }