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")); }
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); }
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)); }
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)); }