Exemplo n.º 1
0
 public static Common.Entities.Cliente PaseCliente(
     Models.NuevoCliente ncliente,
     Common.Entities.Cliente cliente,
     Common.Entities.Sucursal sucursal)
 {
     if (cliente != null)
     {
         return(new Cliente
         {
             Id = cliente.Id,
             DistribuidorId = cliente.DistribuidorId
         });
     }
     else if (ncliente != null)
     {
         return(new Cliente
         {
             SucursalId = sucursal.Id,
             Nombre = ncliente.Nombre,
             ApPaterno = ncliente.ApPaterno,
             ApMaterno = ncliente.ApMaterno,
             Celular = _common.PreparePhone(ncliente.Celular),
             CodigoPostal = ncliente.CodigoPostal,
             Colonia = ncliente.Colonia.Id,
             Ciudad = ncliente.Colonia.CiudadId,
             Estado = ncliente.Colonia.EstadoId,
             Calle = ncliente.Calle,
             Numero = ncliente.Numero,
             Referencia = ncliente.Referencia,
             Email = ncliente.Email,
             Sexo = ncliente.Sexo
         });
     }
     return(null);
 }
Exemplo n.º 2
0
        public void AddClienteTest()
        {
            var model = new Common.Entities.Cliente
            {
                Nombre    = "NOELIA",
                ApPaterno = "ORTIZ",
                //ApMaterno = "ARELLANO",
                Sexo         = "F",
                Colonia      = 10169,
                Ciudad       = 61,
                Estado       = 6,
                CodigoPostal = "27085"
            };

            var id = _process.AddCliente(model);

            Assert.IsNotNull(id);
        }
Exemplo n.º 3
0
        public void CancelFormaPago_CD()
        {
            var sucursal = "01";

            //var sucursalId = 1;
            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => { return(DateTime.Parse("2019-09-01")); };

                var data = new List <DataAccess.SirCoControl.Sucursal> {
                    new DataAccess.SirCoControl.Sucursal {
                        idsucursal = 1, sucursal = "01", cajas = 434045
                    }
                }.AsQueryable();

                var mockSet = new Mock <DbSet <DataAccess.SirCoControl.Sucursal> >();
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.Provider).Returns(data.Provider);
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.Expression).Returns(data.Expression);
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.ElementType).Returns(data.ElementType);
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

                DataAccess.Fakes.ShimSirCoControlDataContext.AllInstances.SucursalesGet = (sctx) => {
                    return(mockSet.Object);
                };

                var pserie  = "0000003668367";
                var distrib = "005961";
                var prod    = _sale.ScanProducto(pserie, sucursal);
                Assert.IsNotNull(prod);

                var ctx = new DataAccess.SirCoDataContext();
                ctx.UpdateSerieStatus("0000003668367", Status.CA, Status.AC, 0);

                var dis = _sale.FindTarjetahabiente(distrib);

                var ncliente = new Common.Entities.Cliente
                {
                    DistribuidorId = 5730
                };

                //var cid = _process.AddCliente(ncliente);
                //Assert.IsNotNull(cid);

                var model = new Common.Entities.SaleRequest()
                {
                    Sucursal   = sucursal,
                    VendedorId = 0,
                    Cliente    = ncliente
                };
                model.Productos = new Common.Entities.SerieFormasPago[] {
                    new Common.Entities.SerieFormasPago {
                        Serie = pserie, FormasPago = new Common.Constants.FormaPago[] { Common.Constants.FormaPago.VA }
                    }
                };
                model.Pagos = new List <Common.Entities.Pago> {
                    new Common.Entities.Pago {
                        FormaPago    = FormaPago.CD,
                        Importe      = prod.Producto.Precio.Value,
                        Distribuidor = distrib,
                        Plazos       = 3
                    }
                };

                var ctxc = new SirCoPOS.DataAccess.SirCoCreditoDataContext();
                var ds   = ctxc.Distribuidores.Where(i => i.distrib == distrib).Single();
                Assert.AreEqual(11564.00M, ds.disponible);
                Assert.AreEqual(3436.00M, ds.saldo);

                var folio = _context.Sale(model, 0);

                Assert.AreEqual("434046", folio.Folio);
                ctxc.Entry(ds).Reload();
                Assert.AreEqual(11564.00M - prod.Producto.Precio.Value, ds.disponible);
                Assert.AreEqual(3436.00M + prod.Producto.Precio.Value, ds.saldo);

                var crequest = new Common.Entities.CancelSaleRequest
                {
                    Sucursal = sucursal,
                    Folio    = "434046"
                };
                _context.CancelSale(crequest, 0);

                ctxc.Entry(ds).Reload();
                Assert.AreEqual(11564.00M, ds.disponible);
                Assert.AreEqual(3436.00M, ds.saldo);
            }
        }
Exemplo n.º 4
0
        public void CancelFormaPago_VD()
        {
            var sucursal = "01";

            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => { return(DateTime.Parse("2019-09-01")); };

                var data = new List <DataAccess.SirCoControl.Sucursal> {
                    new DataAccess.SirCoControl.Sucursal {
                        idsucursal = 1, sucursal = "01", cajas = 434045
                    }
                }.AsQueryable();

                var mockSet = new Mock <DbSet <DataAccess.SirCoControl.Sucursal> >();
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.Provider).Returns(data.Provider);
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.Expression).Returns(data.Expression);
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.ElementType).Returns(data.ElementType);
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

                DataAccess.Fakes.ShimSirCoControlDataContext.AllInstances.SucursalesGet = (sctx) => {
                    return(mockSet.Object);
                };

                var pserie = "0000003668367";
                var nvale  = "123";
                var prod   = _sale.ScanProducto(pserie, sucursal);
                Assert.IsNotNull(prod);
                //var vale = _context.CheckVale(nvale);

                var ctx = new DataAccess.SirCoDataContext();
                ctx.UpdateSerieStatus("0000003668367", Status.CA, Status.AC, 0);

                var ncliente = new Common.Entities.Cliente
                {
                    Id = 810374
                };

                //var cid = _process.AddCliente(ncliente);
                //Assert.IsNotNull(cid);

                var model = new Common.Entities.SaleRequest()
                {
                    Sucursal   = sucursal,
                    VendedorId = 0,
                    Cliente    = ncliente
                };
                model.Productos = new Common.Entities.SerieFormasPago[] {
                    new Common.Entities.SerieFormasPago {
                        Serie = pserie, FormasPago = new Common.Constants.FormaPago[] { Common.Constants.FormaPago.VA }
                    }
                };
                model.Pagos = new List <Common.Entities.Pago> {
                    new Common.Entities.Pago {
                        FormaPago    = FormaPago.VD,
                        Importe      = prod.Producto.Precio.Value,
                        Vale         = nvale,
                        Plazos       = 13,
                        FechaAplicar = DateTime.Parse("2019-11-05")
                                       //ClienteId = cid,
                    }
                };

                var ctxa = new DataAccess.SirCoAPPDataContext();
                var vd   = ctxa.ValesDigital.Where(i => i.idvaledigital == 2).Single();
                Assert.AreEqual(2000, vd.disponible);

                var ctxc = new DataAccess.SirCoCreditoDataContext();
                var dis  = ctxc.Distribuidores.Where(i => i.distrib == "003763").Single();
                Assert.AreEqual(24057.39m, dis.saldo);
                Assert.AreEqual(73442.61m, dis.disponible);

                var folio = _context.Sale(model, 0);

                Assert.AreEqual("434046", folio.Folio);

                ctxa.Entry(vd).Reload();
                Assert.AreEqual(2000 - prod.Producto.Precio.Value, vd.disponible);
                ctxc.Entry(dis).Reload();
                Assert.AreEqual(24057.39m + prod.Producto.Precio.Value, dis.saldo);
                Assert.AreEqual(73442.61m - prod.Producto.Precio.Value, dis.disponible);

                var crequest = new Common.Entities.CancelSaleRequest
                {
                    Sucursal = sucursal,
                    Folio    = "434046"
                };
                _context.CancelSale(crequest, 0);

                ctxa.Entry(vd).Reload();
                Assert.AreEqual(2000, vd.disponible);
                ctxc.Entry(dis).Reload();
                Assert.AreEqual(24057.39m, dis.saldo);
                Assert.AreEqual(73442.61m, dis.disponible);
            }
        }
Exemplo n.º 5
0
        public void CancelFormaPago_MD()
        {
            var sucursal = "01";

            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => { return(DateTime.Parse("2019-09-01")); };

                var data = new List <DataAccess.SirCoControl.Sucursal> {
                    new DataAccess.SirCoControl.Sucursal {
                        idsucursal = 1, sucursal = "01", cajas = 434045
                    }
                }.AsQueryable();

                var mockSet = new Mock <DbSet <DataAccess.SirCoControl.Sucursal> >();
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.Provider).Returns(data.Provider);
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.Expression).Returns(data.Expression);
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.ElementType).Returns(data.ElementType);
                mockSet.As <IQueryable <DataAccess.SirCoControl.Sucursal> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

                DataAccess.Fakes.ShimSirCoControlDataContext.AllInstances.SucursalesGet = (sctx) => {
                    return(mockSet.Object);
                };

                var pserie = "0000003668367";
                var prod   = _sale.ScanProducto(pserie, sucursal);
                Assert.IsNotNull(prod);
                //var vale = _context.CheckVale(nvale);

                var ctx = new DataAccess.SirCoDataContext();
                ctx.UpdateSerieStatus("0000003668367", Status.CA, Status.AC, 0);

                var ncliente = new Common.Entities.Cliente
                {
                    Id = 810374
                };

                //var cid = _process.AddCliente(ncliente);
                //Assert.IsNotNull(cid);

                var model = new Common.Entities.SaleRequest()
                {
                    Sucursal   = sucursal,
                    VendedorId = 0,
                    Cliente    = ncliente
                };
                model.Productos = new Common.Entities.SerieFormasPago[] {
                    new Common.Entities.SerieFormasPago {
                        Serie = pserie, FormasPago = new Common.Constants.FormaPago[] { Common.Constants.FormaPago.VA }
                    }
                };
                model.Pagos = new List <Common.Entities.Pago> {
                    new Common.Entities.Pago {
                        FormaPago = FormaPago.MD,
                        Importe   = 149
                    }
                };

                var folio = _context.Sale(model, 0);

                Assert.AreEqual("434046", folio.Folio);

                var ctxa   = new DataAccess.SirCoAPPDataContext();
                var dinero = ctxa.Dineros.Where(i => i.idsucursal == 1 && i.cliente == "144666").Single();
                var det    = dinero.Detalles.OrderByDescending(i => i.vigencia).ToArray();

                Assert.AreEqual(151, dinero.saldo);
                Assert.AreEqual(0, det[0].saldo);
                Assert.AreEqual(51, det[1].saldo);
                Assert.AreEqual(100, det[2].saldo);

                var request = new Common.Entities.CancelSaleRequest
                {
                    Sucursal = sucursal,
                    Folio    = "434046"
                };
                _context.CancelSale(request, 0);

                var ctxa2 = new DataAccess.SirCoAPPDataContext();
                dinero = ctxa2.Dineros.Where(i => i.idsucursal == 1 && i.cliente == "144666").Single();
                det    = dinero.Detalles.OrderByDescending(i => i.vigencia).ToArray();

                Assert.AreEqual(300, dinero.saldo);
                Assert.AreEqual(100, det[0].saldo);
                Assert.AreEqual(100, det[1].saldo);
                Assert.AreEqual(100, det[2].saldo);
            }
        }