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 ToggleHiddenState(ToggleHiddenStateDto dto) { 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) { visibilityItem = new FieldPropertyItemVisibility { Id = Guid.NewGuid(), ForEntity = forEntity, RoleId = roleId, FieldName = dto.FieldName, IsHidden = true }; dbSet.Add(visibilityItem); } else { visibilityItem.IsHidden = !visibilityItem.IsHidden; } _dataService.SaveChanges(); return(new ValidateResult()); }