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(); }
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)); }