Пример #1
0
        private void SetHiddenState(FieldPropertyDto dto, bool isHidden)
        {
            var dbSet = _dataService.GetDbSet <FieldPropertyItemVisibility>();

            var forEntity = Enum.Parse <FieldPropertiesForEntityType>(dto.ForEntity, true);

            var roleId = string.IsNullOrEmpty(dto.RoleId)
                ? (Guid?)null
                : Guid.Parse(dto.RoleId);


            var visibilityItem = dbSet.SingleOrDefault(x => x.ForEntity == forEntity &&
                                                       x.RoleId == roleId &&
                                                       x.FieldName == dto.FieldName);

            if (visibilityItem == null && isHidden)
            {
                visibilityItem = new FieldPropertyItemVisibility
                {
                    Id        = Guid.NewGuid(),
                    ForEntity = forEntity,
                    RoleId    = roleId,
                    FieldName = dto.FieldName,
                    IsHidden  = isHidden
                };
                dbSet.Add(visibilityItem);
            }
            else if (visibilityItem != null)
            {
                visibilityItem.IsHidden = isHidden;
            }

            _dataService.SaveChanges();
        }
Пример #2
0
        public ValidateResult Save(FieldPropertyDto dto)
        {
            var dbSet = _dataService.GetDbSet <FieldPropertyItem>();

            var forEntity = Enum.Parse <FieldPropertiesForEntityType>(dto.ForEntity, true);

            var roleId = string.IsNullOrEmpty(dto.RoleId)
                ? (Guid?)null
                : Guid.Parse(dto.RoleId);

            var entities = dbSet.Where(x => x.ForEntity == forEntity &&
                                       x.RoleId == roleId &&
                                       x.FieldName == dto.FieldName)
                           .ToList();

            var states = GetStates(forEntity, dto.State);

            foreach (var state in states)
            {
                var stateId = (int)state;
                var entity  = entities.FirstOrDefault(x => x.State == stateId);

                if (entity == null)
                {
                    entity = new FieldPropertyItem
                    {
                        Id        = Guid.NewGuid(),
                        ForEntity = forEntity,
                        RoleId    = roleId,
                        FieldName = dto.FieldName,
                        State     = stateId
                    };
                    dbSet.Add(entity);
                }

                entity.AccessType = Enum.Parse <FieldPropertiesAccessType>(dto.AccessType, true);
            }

            _dataService.SaveChanges();

            return(new ValidateResult());
        }
 public ValidateResult Save([FromBody] FieldPropertyDto fieldPropertiesDto)
 {
     return(fieldPropertiesService.Save(fieldPropertiesDto));
 }