Exemplo n.º 1
0
        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
                });
            }
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
 public TSSales(SalesEstado resultado, TS_BERetornoTransaccion respuesta)
 {
     EstadoRespuesta = resultado;
     Respuesta       = respuesta.Mensaje;
     Codigo          = respuesta.Codigo;
 }