public async Task <UploadConfiguration> GetUploadConfiguration(UploadConfigurationType type) { UploadConfiguration item; var items = await this.unitOfWork.IncidentUploadConfigurationRepository.FindByAsync(x => x.Type == type, y => y.UploadConfigurationFields); if (items == null || (item = items.FirstOrDefault()) == null) { return(null); } return(item); }
public async Task <bool> UpdateUploadConfiguration(UploadConfiguration newItem, UploadConfigurationType type) { var item = await this.GetUploadConfiguration(type); if (item == null) { return(false); } item.SourceTypeId = newItem.SourceTypeId; item.SqlDataSourceId = newItem.SqlDataSourceId; item.FileDataSourceId = newItem.FileDataSourceId; item.FileName = newItem.FileName; foreach (var field in item.UploadConfigurationFields) { var newField = newItem.UploadConfigurationFields?.FirstOrDefault(x => x.Id == field.Id); if (newField != null) { field.SqlDataSourceFieldId = item.SqlDataSourceId.HasValue ? newField.SqlDataSourceField?.Id : null; field.FileDataSourceFieldId = item.FileDataSourceId.HasValue ? newField.FileDataSourceField?.Id : null; } } this.unitOfWork.IncidentUploadConfigurationRepository.Edit(item); return(true); }