Example #1
0
        protected async override Task <Utilities.Messages.Pago> Prepare(bool acept)
        {
            Utilities.Messages.Pago msg = null;
            if (acept)
            {
                msg = new Utilities.Messages.Pago
                {
                    FormaPago         = this.FormaPago,
                    Importe           = this.Pagar.Value,
                    Vale              = this.Vale.Vale,
                    Cliente           = this.Vale.ClienteId,
                    Plazos            = this.Plazos,
                    SelectedPlazo     = this.SelectedPlazo,
                    Promociones       = this.Promocion.Promociones,
                    SelectedPromocion = this.SelectedPromocion,
                    ContraVale        = this.GenerateContraVale,
                    Limite            = this.Limite,
                    PlazosProductos   = this.Productos
                                        .Where(i => i.SelectedPlazo.HasValue &&
                                               i.Item.FormasPago.Where(k => k.FormaPago == this.FormaPago).Any())
                                        .Select(i => new ProductoPlazo
                    {
                        Serie  = i.Item.Serie,
                        Plazos = i.SelectedPlazo,
                        //Importe = i.Item.Precio //i.Pago - se limpia el pago antes de enviar, por eso queda null el pago
                        Importe = i.Item.FormasPago.Where(k => k.FormaPago == this.FormaPago)
                                  .Single().Importe
                    }).ToArray()
                };
            }
            var res = await base.Prepare(acept);

            return(msg);
        }
Example #2
0
        protected override void Accept(Utilities.Messages.Pago p)
        {
            var msg = new Utilities.Messages.Pago
            {
                FormaPago         = this.FormaPago,
                DistribuidorId    = this.Vale.Distribuidor.Id,
                NoCuenta          = this.Cuenta,
                Negocio           = this.SelectedNegocio,
                Importe           = this.Pagar.Value,
                Vale              = this.ValeSearch,
                Cliente           = null,
                Plazos            = this.Plazos,
                SelectedPlazo     = this.SelectedPlazo,
                Promociones       = this.Promocion.Promociones,
                SelectedPromocion = this.SelectedPromocion,
                PlazosProductos   = this.Productos.Select(i => new ProductoPlazo
                {
                    Serie   = i.Item.Serie,
                    Plazos  = i.SelectedPlazo,
                    Importe = i.Item.Precio //i.Pago - se limpia el pago antes de enviar, por eso queda null el pago
                }).ToArray()
            };

            Messenger.Default.Send(msg, this.GID);
        }
Example #3
0
        protected override void Accept(Utilities.Messages.Pago msg)
        {
            //if (this.Vale.Distribuidor.Electronica)
            //{

            //}
            Messenger.Default.Send(msg, this.GID);
        }
Example #4
0
 protected override void Accept(Utilities.Messages.Pago p)
 {
     Messenger.Default.Send(
         new Utilities.Messages.Pago
     {
         FormaPago = FormaPago.EF,
         Importe   = this.Pagar.Value
     }, this.GID);
 }
Example #5
0
 protected override void Accept(Utilities.Messages.Pago p)
 {
     Messenger.Default.Send(
         new Utilities.Messages.Pago
     {
         FormaPago = this.FormaPago,
         Importe   = this.Pagar.Value,
         Cliente   = this.ClientId,
     }, this.GID);
 }
Example #6
0
 protected override void Accept(Utilities.Messages.Pago p)
 {
     GalaSoft.MvvmLight.Messaging.Messenger.Default.Send(
         new Utilities.Messages.Pago
     {
         FormaPago = FormaPago.DV,
         Importe   = this.Pagar.Value,
         Sucursal  = this.Devolucion.Sucursal,
         Folio     = this.Devolucion.Folio
     }, this.GID);
 }
Example #7
0
 protected override void Accept(Utilities.Messages.Pago p)
 {
     GalaSoft.MvvmLight.Messaging.Messenger.Default.Send(
         new Utilities.Messages.Pago
     {
         FormaPago   = this.FormaPago,
         Importe     = this.Pagar.Value,
         Terminacion = this.Terminacion,
         Referencia  = this.Referencia
     }, this.GID);
 }
Example #8
0
        internal void AddPago(Utilities.Messages.Pago p, Guid id)
        {
            var data = Utilities.Helpers.Serializer.Serialize(p);

            _venta.Pagos.Add(new VentaPago {
                Id        = id,
                FormaPago = p.FormaPago,
                Importe   = p.Importe,
                Data      = data
            });
            _ctx.SaveChanges();
        }
Example #9
0
 protected override void Accept(Utilities.Messages.Pago p)
 {
     Messenger.Default.Send(
         new Utilities.Messages.Pago
     {
         FormaPago         = this.FormaPago,
         Importe           = this.Pagar.Value,
         Vale              = this.Vale.Vale,
         Cliente           = this.Vale.ClienteId,
         Plazos            = this.Plazos,
         SelectedPlazo     = this.SelectedPlazo,
         Promociones       = this.Promociones,
         SelectedPromocion = this.SelectedPromocion
     }, this.GID);
 }
Example #10
0
 protected override void Accept(Utilities.Messages.Pago p)
 {
     Messenger.Default.Send(
         new Utilities.Messages.Pago
     {
         FormaPago = this.FormaPago,
         Importe   = this.Pagar.Value,
         Vale      = this.Vale.Vale,
         //Vale = this.Tarjetahabiente.Vale,
         Cliente           = this.Vale.Distribuidor.ClienteId,
         Plazos            = this.Plazos,
         SelectedPlazo     = this.SelectedPlazo,
         Promociones       = this.Promocion.Promociones,
         SelectedPromocion = this.SelectedPromocion,
         DistribuidorId    = this.Vale.Distribuidor.Id
     }, this.GID);
 }
Example #11
0
 protected override void Accept(Utilities.Messages.Pago p)
 {
     Messenger.Default.Send(
         new Utilities.Messages.Pago
     {
         FormaPago         = FormaPago.CV,
         Importe           = this.Pagar.Value,
         Vale              = this.Vale.Vale,
         Cliente           = this.Vale.ClienteId,
         Plazos            = this.Plazos,
         SelectedPlazo     = this.SelectedPlazo,
         Promociones       = this.Promociones,
         SelectedPromocion = this.SelectedPromocion,
         ContraVale        = this.GenerateContraVale,
         Sucursal          = this.Vale.Sucursal
     }, this.GID);
 }
Example #12
0
        protected async Task <Models.Pagos.Pago> ParsePago(Utilities.Messages.Pago o, Guid?id = null)
        {
            Models.Pagos.Pago p = null;
            switch (o.FormaPago)
            {
            case FormaPago.EF:
                p = new Models.Pagos.Pago
                {
                    FormaPago = o.FormaPago,
                    Importe   = o.Importe
                };
                break;

            case FormaPago.MD:
                p = new Models.Pagos.Pago
                {
                    FormaPago = o.FormaPago,
                    Importe   = o.Importe,
                    ClientId  = o.Cliente
                };
                break;

            case FormaPago.DV:
                p = new Models.Pagos.PagoDevolucion
                {
                    FormaPago = o.FormaPago,
                    Importe   = o.Importe,
                    Sucursal  = o.Sucursal,
                    Folio     = o.Folio
                };
                break;

            case FormaPago.TC:
            case FormaPago.TD:
                p = new Models.Pagos.PagoTarjeta
                {
                    FormaPago   = o.FormaPago,
                    Importe     = o.Importe,
                    Terminacion = o.Terminacion,
                    Referencia  = o.Referencia
                };
                break;

            case FormaPago.VA:
            {
                var pv = new Models.Pagos.PagoVale
                {
                    FormaPago         = o.FormaPago,
                    Importe           = o.Importe,
                    Vale              = o.Vale,
                    Plazos            = o.Plazos,
                    Promociones       = o.Promociones,
                    SelectedPlazo     = o.SelectedPlazo,
                    SelectedPromocion = o.SelectedPromocion,
                    ContraVale        = o.ContraVale,
                    Limite            = o.Limite,
                    ClientId          = o.Cliente,
                    ProductosPlazos   = o.PlazosProductos
                };

                if (!this.IsInDesignMode)
                {
                    var promos = await _proxy.FindPromocionesValeAsync(this.Sucursal.Clave);

                    //pv.Plazos = promos.Plazos;
                    pv.Promociones = promos.Promociones;

                    var vale = await _proxy.FindValeAsync(o.Vale);

                    pv.Info = new Models.Pagos.PagoValeInfo
                    {
                        Distribuidor = vale.Distribuidor.Nombre,
                        Promocion    = vale.Distribuidor.Promocion,
                        Electronica  = vale.Distribuidor.Electronica
                    };

                    if (o.Cliente.HasValue)
                    {
                        var cli = _proxy.FindCliente(o.Cliente.Value);
                        Messenger.Default.Send(new Messages.ClienteMessage {
                                Cliente = cli
                            }, this.GID);
                    }
                }
                p = pv;
            }
            break;

            case FormaPago.VD:
            {
                var pv = new Models.Pagos.PagoVale
                {
                    FormaPago         = o.FormaPago,
                    Importe           = o.Importe,
                    Vale              = o.Vale,
                    Plazos            = o.Plazos,
                    Promociones       = o.Promociones,
                    SelectedPlazo     = o.SelectedPlazo,
                    SelectedPromocion = o.SelectedPromocion,
                    ClientId          = o.Cliente
                };

                if (!this.IsInDesignMode)
                {
                    var promos = await _proxy.FindPromocionesValeAsync(this.Sucursal.Clave);

                    //pv.Plazos = promos.Plazos;
                    pv.Promociones = promos.Promociones;

                    var vale = await _proxy.FindValeDigitalAsync(o.Vale);

                    pv.Info = new Models.Pagos.PagoValeInfo
                    {
                        Distribuidor = vale.Distribuidor.Nombre,
                        Promocion    = vale.Distribuidor.Promocion,
                        Electronica  = vale.Distribuidor.Electronica
                    };

                    if (o.Cliente.HasValue)
                    {
                        var cli = _proxy.FindCliente(o.Cliente.Value);
                        Messenger.Default.Send(new Messages.ClienteMessage {
                                Cliente = cli
                            }, this.GID);
                    }
                }
                p = pv;
            }
            break;

            case FormaPago.VE:
            {
                var pv = new Models.Pagos.PagoVale
                {
                    FormaPago         = o.FormaPago,
                    Importe           = o.Importe,
                    Vale              = o.Vale,
                    Negocio           = o.Negocio,
                    NoCuenta          = o.NoCuenta,
                    Plazos            = o.Plazos,
                    Promociones       = o.Promociones,
                    SelectedPlazo     = o.SelectedPlazo,
                    SelectedPromocion = o.SelectedPromocion,
                    ClientId          = o.Cliente
                };

                if (!this.IsInDesignMode)
                {
                    var promos = await _proxy.FindPromocionesValeAsync(this.Sucursal.Clave);

                    //pv.Plazos = promos.Plazos;
                    pv.Promociones = promos.Promociones;

                    //var vale = await _proxy.FindValeDigitalAsync(o.Vale);
                    //pv.Info = new Models.Pagos.PagoValeInfo
                    //{
                    //    Distribuidor = vale.Distribuidor.Nombre,
                    //    Promocion = vale.Distribuidor.Promocion,
                    //    SoloCalzado = vale.Distribuidor.SoloCalzado
                    //};

                    //if (o.Cliente.HasValue)
                    //{
                    //    var cli = _proxy.FindCliente(o.Cliente.Value);
                    //    Messenger.Default.Send(new Messages.ClienteMessage { Cliente = cli }, this.GID);
                    //}
                }
                p = pv;
            }
            break;

            case FormaPago.CP:
            {
                var cp = new Models.Pagos.PagoCredito
                {
                    FormaPago         = o.FormaPago,
                    Importe           = o.Importe,
                    Vale              = o.Vale,
                    Plazos            = o.Plazos,
                    Promociones       = o.Promociones,
                    SelectedPlazo     = o.SelectedPlazo,
                    SelectedPromocion = o.SelectedPromocion,
                    ContraVale        = o.ContraVale,
                    Limite            = o.Limite,
                    ClientId          = o.Cliente
                };

                if (!this.IsInDesignMode)
                {
                    var promos = await _proxy.FindPromocionesValeAsync(this.Sucursal.Clave);

                    //pv.Plazos = promos.Plazos;
                    cp.Promociones = promos.Promociones;

                    var vale = await _proxy.FindTarjetahabienteAsync(o.Vale);

                    cp.Info = new Models.Pagos.PagoValeInfo
                    {
                        Distribuidor = vale.Distribuidor.Nombre,
                        Promocion    = vale.Distribuidor.Promocion,
                        Electronica  = vale.Distribuidor.Electronica
                    };

                    if (o.Cliente.HasValue)
                    {
                        var cli = _proxy.FindCliente(o.Cliente.Value);
                        Messenger.Default.Send(new Messages.ClienteMessage {
                                Cliente = cli
                            }, this.GID);
                    }
                    else
                    {
                        this.Cliente = new Cliente {
                            DistribuidorId = o.DistribuidorId
                        };
                    }
                }
                p = cp;
            }
            break;

            case FormaPago.CD:
            {
                var cp = new Models.Pagos.PagoCredito
                {
                    FormaPago         = o.FormaPago,
                    Importe           = o.Importe,
                    Vale              = o.Vale,
                    Plazos            = o.Plazos,
                    Promociones       = o.Promociones,
                    SelectedPlazo     = o.SelectedPlazo,
                    SelectedPromocion = o.SelectedPromocion,
                    ContraVale        = o.ContraVale,
                    Limite            = o.Limite,
                    ClientId          = o.Cliente
                };

                if (!this.IsInDesignMode)
                {
                    var promos = await _proxy.FindPromocionesValeAsync(this.Sucursal.Clave);

                    //pv.Plazos = promos.Plazos;
                    cp.Promociones = promos.Promociones;

                    var vale = await _proxy.FindDistribuidorAsync(o.Vale);

                    cp.Info = new Models.Pagos.PagoValeInfo
                    {
                        Distribuidor = vale.Distribuidor.Nombre,
                        Promocion    = vale.Distribuidor.Promocion,
                        Electronica  = vale.Distribuidor.Electronica
                    };

                    if (o.Cliente.HasValue)
                    {
                        var cli = _proxy.FindCliente(o.Cliente.Value);
                        Messenger.Default.Send(new Messages.ClienteMessage {
                                Cliente = cli
                            }, this.GID);
                    }
                    else
                    {
                        this.Cliente = new Cliente {
                            DistribuidorId = o.DistribuidorId
                        };
                    }
                }
                p = cp;
            }
            break;

            case FormaPago.CV:
                var cv = new Models.Pagos.PagoContraVale
                {
                    FormaPago         = o.FormaPago,
                    Importe           = o.Importe,
                    Vale              = o.Vale,
                    Plazos            = o.Plazos,
                    Promociones       = o.Promociones,
                    SelectedPlazo     = o.SelectedPlazo,
                    SelectedPromocion = o.SelectedPromocion,
                    ContraVale        = o.ContraVale,
                    Limite            = o.Limite,
                    Sucursal          = o.Sucursal,
                    ClientId          = o.Cliente
                };

                if (!this.IsInDesignMode)
                {
                    var promos = await _proxy.FindPromocionesValeAsync(this.Sucursal.Clave);

                    //pv.Plazos = promos.Plazos;
                    cv.Promociones = promos.Promociones;

                    var vale = await _proxy.FindContraValeAsync(o.Sucursal, o.Vale);

                    cv.Info = new Models.Pagos.PagoValeInfo
                    {
                        Distribuidor = vale.Distribuidor.Nombre,
                        Promocion    = vale.Distribuidor.Promocion,
                        Electronica  = vale.Distribuidor.Electronica
                    };

                    if (o.Cliente.HasValue)
                    {
                        var cli = _proxy.FindCliente(o.Cliente.Value);
                        Messenger.Default.Send(new Messages.ClienteMessage {
                            Cliente = cli
                        }, this.GID);
                    }
                }
                p = cv;
                break;

            default:
                throw new NotSupportedException();
            }
            p.Id = id ?? Guid.NewGuid();
            return(p);
        }