private void ProcessColumns(AdmIntegrationMap map, IEnumerable <IntegrationMapColumnSaveModel> columns, bool useHeaderDetail = true) { var existingColumnId = new List <int>(); var count = 0; foreach (var column in columns) { if (!useHeaderDetail) { column.IsHeader = false; } column.Position = ++count; if (column.AdmIntegrationMapsColumnID != 0) { existingColumnId.Add(column.AdmIntegrationMapsColumnID); var existingColumn = map.AdmIntegrationMapsColumns.First(x => x.AdmIntegrationMapsColumnID == column.AdmIntegrationMapsColumnID); ProcessColumn(existingColumn, column); } else { var newColumn = ProcessColumn(null, column); map.AdmIntegrationMapsColumns.Add(newColumn); } } foreach (var mapColumn in map.AdmIntegrationMapsColumns.Where(x => !existingColumnId.Contains(x.AdmIntegrationMapsColumnID))) { _repository.MarkForDeletion(mapColumn); } }
private async Task ProcessTriageFile(AdmIntegrationMap map, PutIntegrationMapsRequest request) { if (request.TriageFileID != 0) { var previewFile = await _repository.FindAsync <AppTriageFile>(request.TriageFileID); if (previewFile != null) { if (map.PreviewFile != null) { _repository.MarkForDeletion(map.PreviewFile); } map.PreviewFile = new AdmIntegrationMapsPreviewFile { FileName = Path.GetFileName(previewFile.FileName), Size = previewFile.Size, UploadDate = DateTime.Now, AdmIntegrationMapsFilesData = new AdmIntegrationMapsPreviewFileData() { Data = previewFile.AppTriageFilesData.Data } }; } } }
private static void MapKnownFields(AdmIntegrationMap map, PutIntegrationMapsRequest request) { map.AdmIntegrationMapID = request.AdmIntegrationMapID; map.AppObjectID = request.AppObjectID; map.FileLocation = request.FileLocation ?? ""; map.FileLocationType = request.FileLocationType; map.FileType = request.FileType; map.FileUserDefinedDelimiter = request.FileUserDefinedDelimiter; map.IsExport = request.IsExport; map.IsImport = request.IsImport; map.Name = request.MapName; map.MapType = (int)request.MapType; map.UseDoubleQuote = request.UseDoubleQuote; map.UseHeaderDetail = request.UseHeaderDetail; map.MapDateFormat = request.MapDateFormat; map.FileUserDefinedDelimiter = request.FileUserDefinedDelimiter; map.BeginOnLineNumber = request.BeginOnLine; }
private async Task <AdmIntegrationMap> GetNewMap(int mapType) { var map = await _repository.GetAsync <AdmIntegrationMap>(q => q.MapType == mapType && q.IsImport == false); if (map == null) { map = new AdmIntegrationMap() { AdmIntegrationMapID = 0, //Name = "Gordon Food Service", IsExport = true, IsImport = false, AppObjectID = "Site Orders", FileLocation = string.Empty, FileLocationType = IntegrationMapEndpoint.Client_File, FileType = IntegrationMapFileType.Comma_Separated, FileUserDefinedDelimiter = null, BeginOnLineNumber = 0, Preloaded = false, MapType = mapType, UseDoubleQuote = false, MapDateFormat = 0, UseHeaderDetail = true }; if (mapType == (int)IntegrationMapType.Gordon_Foods_Order_Export) { map.Name = "Gordon Food Service"; } else if (mapType == (int)IntegrationMapType.CNIPs) { map.Name = "CNIPs"; map.AppObjectID = "Accountability Export"; map.FileType = IntegrationMapFileType.Fixed_Width; } map = await _repository.CreateAsync(map); } return(map); }