private void UpdateColumnLevelMetadata(File modifiedFile)
{
List<FileColumn> fileColumnsToBeDeleted = new List<FileColumn>();
if (modifiedFile.FileColumns != null)
{
foreach (var fileColumn in modifiedFile.FileColumns)
{
if (!string.IsNullOrWhiteSpace(fileColumn.EntityDescription))
{
if (fileColumn.FileColumnId != 0)
{
var updatedFileColumn = Context.FileColumns.Attach(fileColumn);
Context.SetEntityState<FileColumn>(fileColumn, EntityState.Modified);
}
else
{
var addedFileColumn = Context.FileColumns.Add(fileColumn);
Context.SetEntityState<FileColumn>(addedFileColumn, EntityState.Added);
}
}
else
{
fileColumnsToBeDeleted.Add(fileColumn);
}
}
foreach (var deleteFileColumn in fileColumnsToBeDeleted)
{
Context.SetEntityState<FileColumn>(deleteFileColumn, EntityState.Deleted);
Context.FileColumns.Remove(deleteFileColumn);
}
}
}