示例#1
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));
            };
        }
示例#2
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));
            };
        }
示例#3
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));
            };
        }
示例#4
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));
            };
        }
示例#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 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));
            };
        }
示例#8
0
        private void setFileContentRequest(EmpleoRequest request)
        {
            var comprobantesConArchivo = request.comprobantes.Where(x => !string.IsNullOrEmpty(x.archivoComprobante));

            comprobantesConArchivo.ForEach(x => x.contentFile = _fileGetter.getFile(DirectorioArchivosVouchers, x.archivoComprobante, Extension));
        }