Microsoft.Research.DataOnboarding.DataAccessService.Providers.EntityFramework.FileRepository.UpdateFileLevelMetadata C# (CSharp) Method

UpdateFileLevelMetadata() private method

Method to update file level metadata.
private UpdateFileLevelMetadata ( Microsoft.Research.DataOnboarding.DomainModel.File modifiedFile ) : void
modifiedFile Microsoft.Research.DataOnboarding.DomainModel.File modifiedFile
return void
        private void UpdateFileLevelMetadata(File modifiedFile)
        {
            if (modifiedFile.FileMetadataFields != null)
            {
                foreach (var fileMetaData in modifiedFile.FileMetadataFields)
                {
                    //first update the existing records
                    if (fileMetaData.FileMetadataFieldId != 0 && !string.IsNullOrEmpty(fileMetaData.MetadataValue))
                    {
                        Context.SetEntityState<FileMetadataField>(fileMetaData, EntityState.Modified);
                    }
                }

                List<FileMetadataField> ToBeDeletedfileMetaDataList = new List<FileMetadataField>();
                foreach (var fileMetaData in modifiedFile.FileMetadataFields)
                {
                    if (string.IsNullOrEmpty(fileMetaData.MetadataValue))
                    {
                        ToBeDeletedfileMetaDataList.Add(fileMetaData);
                    }
                }

                foreach (var deleteFileMetaData in ToBeDeletedfileMetaDataList)
                {
                    Context.SetEntityState<FileMetadataField>(deleteFileMetaData, EntityState.Deleted);
                    Context.FileMetadataFields.Remove(deleteFileMetaData);
                }
            }
        }