コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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
                        }
                    };
                }
            }
        }
コード例 #3
0
 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;
 }
コード例 #4
0
        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);
        }