Exemple #1
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
                        }
                    };
                }
            }
        }
Exemple #2
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;
 }
Exemple #3
0
        public async Task <PutIntegrationMapsResponse> SaveIntegrationMap(PutIntegrationMapsRequest request)
        {
            var map = request.AdmIntegrationMapID != 0
                ? await _repository.FindAsync <AdmIntegrationMap>(request.AdmIntegrationMapID)
                : new AdmIntegrationMap();

            if (map == null)
            {
                Debug.WriteLine($"Integration map not found in database. Id: {request.AdmIntegrationMapID}");
                throw new ApplicationException($"{request.AdmIntegrationMapID} integration map not found");
            }

            var response = new PutIntegrationMapsResponse();

            //automapper can handle all this stuff, however without proper testing I will just follow the old logic
            MapKnownFields(map, request);

            if (request.DeletePreviewFile && map.PreviewFile != null)
            {
                _repository.MarkForDeletion(map.PreviewFile);
            }

            await ProcessTriageFile(map, request);

            if (request.Columns != null && request.Columns.Any())
            {
                ProcessColumns(map, request.Columns, request.UseHeaderDetail);
            }

            if (map.AdmIntegrationMapID == 0)
            {
                await _repository.CreateAsync(map);
            }
            else
            {
                await _repository.UpdateAsync(map);
            }

            response.IntegrationMapId = map.AdmIntegrationMapID;
            return(response);
        }
Exemple #4
0
 public async Task <ActionResult <PutIntegrationMapsResponse> > PutIntegrationMap(PutIntegrationMapsRequest request)
 {
     _logger.LogInformation($"{nameof(IntegrationMapsController)}.{nameof(PutIntegrationMap)} params: ({JsonConvert.SerializeObject(request, Formatting.Indented)})");
     return(await _integrationMapsLogic.SaveIntegrationMap(request));
 }