コード例 #1
0
        public async Task <ReciboResponse> GraboAnulacionRecibo(RecibosDTO recibo, string tipoOperacion)
        {
            oVtcanuwiz.instancioObjeto(tipoOperacion);

            oVtcanuwiz.asignoaTMWizard("VIRT_CODFOR", recibo.CodigoReciboAnular, Logger);
            oVtcanuwiz.asignoaTMWizard("VIRT_NROFOR", recibo.NumeroReciboAnular, Logger);
            try
            {
                oVtcanuwiz.MoveNext();
            }
            catch
            {
                return(new ReciboResponse("Bad Request", 0, $"El recibo {recibo.CodigoReciboAnular} - {recibo.NumeroReciboAnular} no existe o ya fue anulado."));
            }

            oVtcanuwiz.MoveNext();
            oVtcanuwiz.asignoaTMWizard("VIRT_CODCOM", recibo.CodigoComprobanteAGenerar, Logger);
            if (recibo.FechaContable != null)
            {
                oVtcanuwiz.asignoaTMWizard("VIRT_FCHMOV", recibo.CodigoComprobanteAGenerar, Logger);
            }
            oVtcanuwiz.MoveNext();
            Save processResult = oVtcanuwiz.Finish();

            oVtcanuwiz.closeObjectInstance();

            if (processResult.Result == false)
            {
                return(new ReciboResponse("Bad Request", 0, processResult.errorMessage));
            }

            return(new ReciboResponse("OK", 0, null, "Anulacion generada"));
        }
コード例 #2
0
        public async Task <ActionResult <RecibosDTO> > Get(string codigoComprobante, int?numeroComprobante, int?idOperacion)
        {
            RecibosDTO recibo = Mapper.Map <RecibosDTO>(await Repository.Get(codigoComprobante, numeroComprobante, idOperacion));

            if (recibo == null)
            {
                throw new BadRequestException("El comprobante solicitado no existe.");
            }

            return(recibo);
        }
コード例 #3
0
        public async Task <ActionResult <ReciboResponse> > Post([FromBody] RecibosDTO recibo)
        {
            Logger.Information($"Se recibio posteo de nuevo recibo {recibo.CodigoComprobanteAGenerar} - " +
                               $"Id de operacion: {recibo.IdOperacion}");

            int idOperacion = recibo.IdOperacion;

            if (Env.IsProduction())
            {
                if (int.TryParse(recibo.Cliente, out _))
                {
                    recibo.Cliente = string.Format("{0:00000000}", int.Parse(recibo.Cliente));
                }
                ;
                if (int.TryParse(recibo.CodigoSubcuenta, out _))
                {
                    recibo.CodigoSubcuenta = string.Format("{0:00000000}", int.Parse(recibo.CodigoSubcuenta));
                }
            }


            Vtrrch reciboFormat = Mapper.Map <RecibosDTO, Vtrrch>(recibo);

            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("Error", "Error de formato");
            }

            ReciboResponse response = recibo.TipoMovimiento == "R" ? await Repository.GraboRecibo(reciboFormat, "RUN_FOR_SCRIPT") :
                                      await Repository.GraboAnulacion(reciboFormat, "NEW");

            response.IdOperacion = idOperacion;

            if (response.Estado != 200)
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }
コード例 #4
0
        public async Task <ActionResult <ReciboResponse> > Post([FromBody] RecibosDTO anulacionRecibo)
        {
            Logger.Information($"Se recibio posteo de nuevo anulacionRecibo {anulacionRecibo.CodigoComprobanteAGenerar} - " +
                               $"Id de operacion: {anulacionRecibo.IdOperacion}");

            int idOperacion = anulacionRecibo.IdOperacion;


            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("Error", "Error de formato");
            }

            ReciboResponse response = await Repository.GraboAnulacionRecibo(anulacionRecibo, "RUN_FOR_SCRIPT");

            response.IdOperacion = idOperacion;

            if (response.Estado != 200)
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }