示例#1
0
 public HomeController(ILogger <HomeController> logger, IReportBuilder reportBuilder, IWebHostEnvironment webHostEnvironment, IFileGetter fileGetter)
 {
     _logger             = logger;
     _reportBuilder      = reportBuilder;
     _webHostEnvironment = webHostEnvironment;
     _fileGetter         = fileGetter;
 }
示例#2
0
        public EmpresaModuleUpdateContrato(ICommandUpdateEmpresaContrato command, IFileGetter fileGetter)
        {
            Put["/enterprise/{rtn}/contract/{contract:guid}"] = parameters =>
            {
                var rtn        = parameters.rtn;
                var contractId = parameters.contract;

                if (fileGetter.existsFile(DirectorioContratoEmpresas, contractId.ToString(), Extension))
                {
                    var rtnEmpresa = new RTN(rtn);
                    if (rtnEmpresa.isRTNValid())
                    {
                        if (command.isExecutable(rtnEmpresa))
                        {
                            var data        = fileGetter.getFile(DirectorioContratoEmpresas, contractId, Extension);
                            var contentFile = new ContentFile(data);
                            command.execute(rtnEmpresa, contentFile);
                            fileGetter.deleteFile(DirectorioContratoEmpresas, contractId, Extension);
                            return(Response.AsJson(contentFile.Id)
                                   .WithStatusCode(HttpStatusCode.OK));
                        }
                    }
                }

                return(new Response()
                       .WithStatusCode(HttpStatusCode.BadRequest));
            };
        }
示例#3
0
 public FileWatcher(
     IOptions <AppSettings> settings,
     ILogger <FileWatcher> logger,
     INotifier notifier,
     IFileGetter getter)
 {
     _settings   = settings.Value;
     _logger     = logger;
     _fileGetter = getter;
     _notifier   = notifier;
 }
示例#4
0
        public Processor(List <ExtractorBase> extractors, List <IDocumentExtractor <DocumentBase> > documentExtractors, IFileGetter fileGetter, IYandexXmlProvider yandexXmlProvider, IConfiguration config)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            _extractors         = extractors;
            _documentExtractors = documentExtractors;
            _fileGetter         = fileGetter;
            _yandexXmlProvider  = yandexXmlProvider;
            _config             = config;
        }
示例#5
0
        public EmpleoModuleInsert(ICommandInsertIdentity <Empleo> command, IFileGetter fileGetter)
        {
            _fileGetter    = fileGetter;
            _empleoMapping = new EmpleoMapping();
            Post["/enterprise/empleos"] = parameters =>
            {
                var request = this.Bind <EmpleoRequest>();
                if (request.isValidPost())
                {
                    if (contratoNotEmpty(request))
                    {
                        var contrato = request.contrato;
                        if (!_fileGetter.existsFile(DirectorioArchivosContratos, contrato, Extension))
                        {
                            return(new Response()
                                   .WithStatusCode(HttpStatusCode.BadRequest));
                        }
                        request.contentFile = fileGetter.getFile(@"/EmpleoContratos", contrato, ".pdf");
                    }

                    if (someFileVoucherNotEmpty(request))
                    {
                        if (!existsFilesVoucher(request))
                        {
                            return(new Response()
                                   .WithStatusCode(HttpStatusCode.BadRequest));
                        }

                        setFileContentRequest(request);
                    }


                    var empleo = _empleoMapping.getEmpleoForPost(request);
                    if (command.isExecutable(empleo))
                    {
                        command.execute(empleo);
                        deleteFiles(request);
                        return(new Response()
                               .WithStatusCode(HttpStatusCode.OK));
                    }
                }
                return(new Response()
                       .WithStatusCode(HttpStatusCode.BadRequest));
            };
        }
示例#6
0
        public EmpleoModuleUpdate(ICommandUpdateIdentity <Empleo> commandUpdate, IFileGetter fileGetter)
        {
            _fileGetter                = fileGetter;
            _empleoMapping             = new EmpleoMapping();
            Put["/enterprise/empleos"] = parameters =>
            {
                var request = this.Bind <EmpleoRequest>();
                if (request.isValidPut())
                {
                    /*    if (request.updateContrato)
                     *  {
                     *      var contrato = request.contrato;
                     *      if (!_fileGetter.existsFile(DirectorioArchivosContratos, contrato, Extension))
                     *      {
                     *          return new Response()
                     *                  .WithStatusCode(HttpStatusCode.BadRequest);
                     *      }
                     *      request.contentFile = fileGetter.getFile(DirectorioArchivosContratos, contrato, Extension);
                     *
                     *  }
                     *  else
                     *  {
                     *      var contrato = request.contrato;
                     *      Guid idContrato;
                     *      if (!Guid.TryParse(contrato, out idContrato)&&!string.IsNullOrEmpty(contrato))
                     *      {
                     *          return new Response()
                     *             .WithStatusCode(HttpStatusCode.BadRequest);
                     *      }
                     *
                     *  }*/
                    var empleo = _empleoMapping.getEmpleoForPut(request);

                    if (commandUpdate.isExecutable(empleo))
                    {
                        commandUpdate.execute(empleo);
                        return(new Response()
                               .WithStatusCode(HttpStatusCode.OK));
                    }
                }

                return(new Response()
                       .WithStatusCode(HttpStatusCode.BadRequest));
            };
        }
示例#7
0
 public EmpresaModuleUpdate(ICommandUpdateIdentity <Empresa> _commandUpdate, IFileGetter fileGetter)
 {
     Put["enterprise/"] = parameters =>
     {
         var request = this.Bind <EmpresaRequest>();
         if (request.isValidPost())
         {
             var empresaMap = new EmpresaMap();
             var empresa    = empresaMap.getEmpresa(request);
             if (_commandUpdate.isExecutable(empresa))
             {
                 _commandUpdate.execute(empresa);
                 return(new Response()
                        .WithStatusCode(HttpStatusCode.OK));
             }
         }
         return(new Response()
                .WithStatusCode(HttpStatusCode.BadRequest));
     };
 }
示例#8
0
        private void InitializeTestHelper(OperationMode.WhichOperation operation)
        {
            kernel = new StandardKernel(new RunnerModule());

            fileSaver  = kernel.Get <FileSaver>();
            fileGetter = kernel.Get <FileGetter>();

            atalasoftGrayscaleTransformer   = kernel.Get <AtalasoftGrayscaleTransformer>();
            dotNetGrayscaleTransformer      = kernel.Get <DotnetGrayscaleTransformer>();
            leadToolsGrayscaleTransformer   = kernel.Get <LeadtoolsGrayscaleTransformer>();
            imageMagickGrayscaleTransformer = kernel.Get <ImageMagickGrayscaleTransformer>();

            leadToolsTifPdfTransformer = kernel.Get <ITifPdfTransformer>();

            leadToolsDpiTransformer = kernel.Get <LeadtoolsDpiTransformer>();

            //dotNetImageTransformer = kernel.Get<DotnetImageTransformer>();
            //leadToolsImageTransformer = kernel.Get<ILeadToolsImageTransformer>();

            _operation = operation;
        }
示例#9
0
        public EmpresaModuleInsert(ICommandInsertIdentity <Empresa> _commandInsert, IFileGetter fileGetter)
        {
            Post["enterprise/"] = parameters =>
            {
                var request = this.Bind <EmpresaRequest>();
                if (request.isValidPost())
                {
                    var empresaMap = new EmpresaMap();
                    var file       = request.contentFile;


                    var empresa = empresaMap.getEmpresa(request);
                    if (_commandInsert.isExecutable(empresa))
                    {
                        if (!string.IsNullOrEmpty(file))
                        {
                            if (!fileGetter.existsFile(@"/EmpresasContratos", file, ".pdf"))
                            {
                                return(new Response()
                                       .WithStatusCode(HttpStatusCode.BadRequest));
                            }
                            var fileContrato = fileGetter.getFile(@"/EmpresasContratos", file, ".pdf");
                            empresa.Contrato = new ContentFile(fileContrato);
                        }


                        _commandInsert.execute(empresa);


                        fileGetter.deleteFile(@"/EmpresasContratos", file, ".pdf");
                        return(new Response()
                               .WithStatusCode(HttpStatusCode.OK));
                    }
                }
                return(new Response()
                       .WithStatusCode(HttpStatusCode.BadRequest));
            };
        }
        public EmpleoModuleUpdateContrato(ICommandUpdateEmpleoContrato command, IFileGetter fileGetter)
        {
            Put["/enterprise/empleos/{id:guid}/contract/{contract:guid}"] = parameters =>
            {
                var empleoId = parameters.id;
                var contract = parameters.contract;

                if (fileGetter.existsFile(DirectorioArchivosContratos, contract.ToString(), Extension))
                {
                    if (command.isExecutable(empleoId))
                    {
                        var data         = fileGetter.getFile(DirectorioArchivosContratos, contract.ToString(), Extension);
                        var contractFile = new ContentFile(data);
                        command.execute(empleoId, contractFile);
                        fileGetter.deleteFile(DirectorioArchivosContratos, contract.ToString(), Extension);
                        return(Response.AsJson(contractFile.Id)
                               .WithStatusCode(HttpStatusCode.OK));
                    }
                }
                return(new Response()
                       .WithStatusCode(HttpStatusCode.BadRequest));
            };
        }
示例#11
0
        public Program()
        {
            var configuration = new ConfigurationBuilder()

                                .AddJsonFile("appsettings.json", true, false)
                                .AddJsonFile("importFolderSettings.json", false, true)

#if DEBUG
                                .AddJsonFile("appsettings.development.json", false, true)
#endif
                                .AddEnvironmentVariables()
                                .Build();


            configuration.GetSection("rev").Bind(_appconfig);

            configuration.GetSection("config").Bind(_importConfig);


            _logger = LoggerFactory
                      .Create(logging =>
            {
                logging.AddConsole();

                if (!string.IsNullOrWhiteSpace(_importConfig?.logFileLocation))
                {
                    logging.AddFile(_importConfig?.logFileLocation.TrimEnd('/', '\\') + "/logs_importer_{Date}.txt");
                }
            })
                      .CreateLogger <Program>();


            _logger.LogInformation($"\n\nStarting Folder import at {DateTime.Now}");


            if (string.IsNullOrWhiteSpace(_importConfig?.imageRoot))
            {
                _logger.LogError("empty input folder");
                throw new Exception("empty input folder");
            }

            if (string.IsNullOrWhiteSpace(_importConfig?.repoName))
            {
                _logger.LogError("empty rev reponame");
                throw new Exception("empty rev reponame");
            }

            _fileGetter = new FileGetter(_importConfig.imageRoot);

            _doneFilename = Path.Combine(_importConfig.imageRoot, "revImportDoneStatus.txt");

            if (File.Exists(_doneFilename))
            {
                using (var sr = new StreamReader(_doneFilename))
                {
                    while (sr.Peek() >= 0)
                    {
                        _doneFileMap[sr.ReadLine()] = true;
                    }
                }
            }
        }
示例#12
0
 public FileProcessor(IFileGetter getter)
 {
     Source = getter;
 }
示例#13
0
        public FichaEmpleoSupervisionModuleInsert(ISerializeJsonRequest serializerJson, Func <string, IEncrytRequestProvider> encryptRequestProvider,
                                                  ITokenizer tokenizer, ICommandInsertFichaDeSupervision command, IFileGetter fileGetter)
        {
            Post["/movil/fichaSupervision/"] = parameters =>
            {
                var movilRequest = this.Bind <MovilRequest>();
                var userId       = tokenizer.Detokenize(movilRequest.token, Context);
                if (userId == null)
                {
                    return(new Response().WithStatusCode(HttpStatusCode.Unauthorized));
                }

                string fichaString;
                FichaSupervisionEmpleoRequest fichaRequest;
                try
                {
                    var desencrypter = encryptRequestProvider(movilRequest.token);
                    fichaString  = desencrypter.decryptString(movilRequest.data);
                    fichaRequest = serializerJson.fromJson <FichaSupervisionEmpleoRequest>(fichaString);
                }
                catch (Exception e)
                {
                    return(new Response().WithStatusCode(HttpStatusCode.BadRequest));
                }



                if (fichaRequest.isValidPost())
                {
                    var archivoImagen = fichaRequest.fotografiaBeneficiario.ToString();
                    if (fileGetter.existsFile(directorioImagenes, archivoImagen, extensionImagenes))
                    {
                        var dataImage    = fileGetter.getFile(directorioImagenes, archivoImagen, extensionImagenes);
                        var imageFile    = new ContentFile(dataImage);
                        var beneficiario = new BeneficiarioMap().getBeneficiario(fichaRequest.beneficiarioRequest);
                        var ficha        = getFichaSupervisionEmpleo(fichaRequest, imageFile);
                        if (command.isExecutable(ficha, beneficiario, fichaRequest.empleoId))
                        {
                            beneficiario.FotografiaBeneficiario = imageFile;
                            command.execute(ficha, beneficiario, fichaRequest.empleoId);
                            fileGetter.deleteFile(directorioImagenes, archivoImagen, extensionImagenes);
                            return(new Response().WithStatusCode(HttpStatusCode.OK));
                        }
                    }
                }
                return(new Response().WithStatusCode(HttpStatusCode.BadRequest));
            };
        }
示例#14
0
        public EmpleoModuleUpdateImagenComprobantePago(ICommandUpdateEmpleoImagenComprobantePago command, IFileGetter fileGetter)
        {
            Put["/enterprise/empleos/{id:guid}/Comprobante/{comprobante:guid}/Imagen/{imagen:guid}"] = parameters =>
            {
                var empleoId      = parameters.id;
                var comprobanteId = parameters.comprobante;
                var imagenId      = parameters.imagen;

                if (fileGetter.existsFile(DirectorioArchivosVouchers, imagenId.ToString(), Extension))
                {
                    if (command.isExecutable(empleoId, comprobanteId))
                    {
                        var data = fileGetter.getFile(DirectorioArchivosVouchers, imagenId.ToString(), Extension);

                        var contentFile = new ContentFile(data);
                        command.execute(empleoId, comprobanteId, contentFile);
                        fileGetter.deleteFile(DirectorioArchivosVouchers, imagenId.ToString(), Extension);
                        return(Response.AsJson(contentFile.Id)
                               .WithStatusCode(HttpStatusCode.OK));
                    }
                }
                return(new Response()
                       .WithStatusCode(HttpStatusCode.BadRequest));
            };
        }
示例#15
0
        public NotaDespidoModuleInsert(ISerializeJsonRequest serializerJson, Func <string, IEncrytRequestProvider> encryptRequestProvider,
                                       ITokenizer tokenizer, ICommandInsertNotaDespido command, IFileGetter fileGetter)
        {
            Post["/movil/notaDespido"] = parameters =>
            {
                var movilRequest = this.Bind <MovilRequest>();
                var userId       = tokenizer.Detokenize(movilRequest.token, Context);
                if (userId == null)
                {
                    return(new Response().WithStatusCode(HttpStatusCode.Unauthorized));
                }

                string             notaDespidoString;
                NotaDespidoRequest notaDespidoRequest;
                try
                {
                    var desencrypter = encryptRequestProvider(movilRequest.token);
                    notaDespidoString  = desencrypter.decryptString(movilRequest.data);
                    notaDespidoRequest = serializerJson.fromJson <NotaDespidoRequest>(notaDespidoString);
                }
                catch (Exception e)
                {
                    return(new Response().WithStatusCode(HttpStatusCode.BadRequest));
                }



                if (notaDespidoRequest.isValidPost())
                {
                    var archivoNotaDespido = notaDespidoRequest.imagenNotaDespido.ToString();
                    if (fileGetter.existsFile(directorioImagenes, archivoNotaDespido, extensionImagenes))
                    {
                        var notaDespido = getNotaDespido(notaDespidoRequest);
                        if (command.isExecutable(notaDespidoRequest.empleoId, notaDespido))
                        {
                            var dataImage = fileGetter.getFile(directorioImagenes, archivoNotaDespido, extensionImagenes);
                            var imageFile = new ContentFile(dataImage);
                            notaDespido.DocumentoDespido = imageFile;
                            command.execute(notaDespidoRequest.empleoId, notaDespido);
                            fileGetter.deleteFile(directorioImagenes, archivoNotaDespido, extensionImagenes);
                            return(new Response()
                                   .WithStatusCode(HttpStatusCode.OK));
                        }
                    }
                }
                return(new Response()
                       .WithStatusCode(HttpStatusCode.BadRequest));
            };
        }