public static TS_BEMensaje SynchronizedSetSale(TerminalSIGES.Models.Lado Cara, TS_BEArticulo Transaccion) { TS_BELoadInput cLoadingInput = TSSalesInput.LoadInput(); TS_BEClienteInput cClienteInput = TSSalesInput.InputClienteAutomaticMethod(Cara); TS_BECabeceraInput cCabeceraInput = TSSalesInput.InputCabeceraAutomaticMethod(Cara); TS_BEDetalleInput[] cDetalleInput = TSSalesInput.InputDetalleAutomaticMethod(Transaccion).ToArray(); List <TS_BEPagoInput> vPagos = TSSalesInput.InputPagosAutomaticMethod(Cara, Transaccion); TS_BEGrabarConfig vConfiguracion = new TS_BEGrabarConfig() { IsNotPrint = Cara.IsImprimir }; if (vPagos == null) { return(new TS_BEMensaje() { mensaje = "EL MONTO TOTAL NO COINCIDE CON LOS PAGOS DE LA VENTA", Ok = false }); } TS_BEPagoInput[] cPagoInput = vPagos.ToArray(); TSSalesInput.InputMoneyAutomaticMethod(Cara, cCabeceraInput, cDetalleInput, cPagoInput); TS_SISalesClient client = null; try { client = new TS_SISalesClient(Helper.ServicioSoapBinding(), new EndpointAddress(Config.Services.Sales)); TS_BERetornoTransaccion respuesta = client.GrabarTransaccion(cDetalleInput, cCabeceraInput, cPagoInput, cClienteInput, cLoadingInput, vConfiguracion); if (respuesta.Ok) { return(new TS_BEMensaje() { mensaje = respuesta.Codigo, Ok = true }); } else { return(new TS_BEMensaje() { mensaje = respuesta.Mensaje, Ok = false }); } } catch (Exception e) { if (client != null) { if (client.State == CommunicationState.Opened) { client.Close(); } } return(new TS_BEMensaje() { mensaje = e.Message, Ok = false }); } }
private static void _GrabarTransaccionCompleted(TS_BERetornoTransaccion Result) { if (Result == null) { SalesGrabarVenta(new TSSales(SalesEstado.ErrorSistema)); return; } if (Result.Mensaje == null && Result.Ok == false) { SalesGrabarVenta(new TSSales(SalesEstado.ErrorSistema)); return; } if (Result.Mensaje != null && Result.Ok == false) { SalesGrabarVenta(new TSSales(SalesEstado.VentaNoRegistrada, Result.Mensaje)); return; } if (Result.Ok == true) { CurrentResultado = new TSSales(SalesEstado.VentaRegistrada, Result); SalesGrabarVenta(CurrentResultado); return; } }
public TSSales(SalesEstado resultado, TS_BERetornoTransaccion respuesta) { EstadoRespuesta = resultado; Respuesta = respuesta.Mensaje; Codigo = respuesta.Codigo; }