Пример #1
0
        /// <summary>
        /// ПРоверка на дублирвоание записей
        /// </summary>
        public ValidationInfo NeedSaveSpecificationType(ActiveSpecificationType checkItem)
        {
            var curSpecificationType =
                activeSpecificationTypeService.GetAllActiveSpecificationType()
                .FirstOrDefault(o => o.ActiveTypeId == checkItem.ActiveTypeId &&
                                o.TypeName == checkItem.TypeName && o.Id != checkItem.Id);

            if (curSpecificationType != null)
            {
                return(ValidationInfo.addError("Характеристика с такими значениями уже существует в системе: " + curSpecificationType.ActiveType.TypeCode));
            }



            return(ValidationInfo.isValid());
        }
Пример #2
0
 public void SaveActiveSpecificationType(ActiveSpecificationType newActiveSpecificationType)
 {
     if (newActiveSpecificationType.Id == 0)
     {
         dbContext.ActiveSpecificationTypes.Add(newActiveSpecificationType);
     }
     else
     {
         var curActiveSpecificationType = dbContext.ActiveSpecificationTypes.Single(o => o.Id == newActiveSpecificationType.Id);
         curActiveSpecificationType.ActiveTypeId = newActiveSpecificationType.ActiveTypeId;
         curActiveSpecificationType.TypeName     = newActiveSpecificationType.TypeName;
         curActiveSpecificationType.MeasureType  = newActiveSpecificationType.MeasureType;
         curActiveSpecificationType.IsDeleted    = newActiveSpecificationType.IsDeleted;
     }
     dbContext.SaveChanges();
 }
        public ActionResult CreateActiveSpecificationType(ActiveSpecificationTypeCreateModel newSpecification)
        {
            var activeTypes = activeTypesService.GetAllActiveTypes();

            foreach (var item in activeTypes)
            {
                newSpecification.ActiveTypeItems.Add(new SelectListItem
                {
                    Text  = item.TypeCode + " (" + item.TypeName + ") ",
                    Value = item.Id.ToString()
                });
            }

            if (ModelState.IsValid)
            {
                foreach (var itemType in newSpecification.ActiveTypeId)
                {
                    var createSpecification = new ActiveSpecificationType
                    {
                        ActiveTypeId = itemType,
                        TypeName     = newSpecification.TypeName,
                        MeasureType  = newSpecification.MeasureType
                    };
                    var validation = catalogsValidator.NeedSaveSpecificationType(createSpecification);
                    //проверка на существование повторяющейся записи. сохранение только в случае, если такой записи нет
                    if (validation.IsValid)
                    {
                        activeSpecificationTypeService.SaveActiveSpecificationType(createSpecification);
                    }
                    else
                    {
                        ViewBag.WarningMessage = validation.ValidationMessage;
                        return(View(newSpecification));
                    }
                }
                return(RedirectToAction("Index"));
            }

            return(View(newSpecification));
        }
        public ActionResult SaveEditSpecificationType(ActiveSpecificationTypeEditModel editSpecificationType)
        {
            if (ModelState.IsValid)
            {
                var saveSpecificationType = new ActiveSpecificationType
                {
                    Id           = editSpecificationType.Id,
                    ActiveTypeId = editSpecificationType.ActiveTypeId,
                    TypeName     = editSpecificationType.TypeName,
                    MeasureType  = editSpecificationType.MeasureType,
                    IsDeleted    = editSpecificationType.IsDeleted
                };

                var validation = catalogsValidator.NeedSaveSpecificationType(saveSpecificationType);
                if (validation.IsValid)
                {
                    activeSpecificationTypeService.SaveActiveSpecificationType(saveSpecificationType);
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewBag.WarningMessage = validation.ValidationMessage;
                }
            }
            var activeTypes = activeTypesService.GetAllActiveTypes();

            foreach (var item in activeTypes)
            {
                editSpecificationType.ActiveTypeItems.Add(new SelectListItem
                {
                    Selected = item.Id == editSpecificationType.ActiveTypeId,
                    Text     = item.TypeCode + " (" + item.TypeName + ") ",
                    Value    = item.Id.ToString()
                });
            }
            return(View("EditSpecificationType", editSpecificationType));
        }