public void CancelFormaPago_VE() { var compro = "0000003678429"; var pago = 539m; var model = new Common.Entities.SaleRequest() { Sucursal = "08", VendedorId = 132, Cliente = new Common.Entities.Cliente { Id = 810374 } }; model.Productos = new Common.Entities.SerieFormasPago[] { new Common.Entities.SerieFormasPago { Serie = compro, FormasPago = new Common.Constants.FormaPago[] { Common.Constants.FormaPago.EF } } }; model.Pagos = new Common.Entities.Pago[] { new Common.Entities.Pago { FormaPago = Common.Constants.FormaPago.VE, Negocio = 217, NoCuenta = "813", Importe = pago, Vale = "110472", Plazos = 13, FechaAplicar = DateTime.Parse("2019-11-05") } }; _context.RequestProducto(compro, 0); Common.Entities.SaleResponse folio = null; using (ShimsContext.Create()) { System.Fakes.ShimDateTime.NowGet = () => { return(DateTime.Parse("2019-03-06")); }; folio = _context.Sale(model, 0); } Assert.AreEqual("295595", folio.Folio); var ctxc = new DataAccess.SirCoCreditoDataContext(); var dis = ctxc.Distribuidores.Where(i => i.iddistrib == 4281).Single(); Assert.AreEqual(14732.70m - pago, dis.disponible); Assert.AreEqual(32267.30m + pago, dis.saldo); var request = new Common.Entities.CancelSaleRequest { Sucursal = "08", Folio = "295595" }; _context.CancelSale(request, 0); ctxc.Entry(dis).Reload(); Assert.AreEqual(14732.70m, dis.disponible); Assert.AreEqual(32267.30m, dis.saldo); }
//[ExpectedException(typeof(NotSupportedException))] public void CancelSaleTest() { var request = new Common.Entities.CancelSaleRequest { Sucursal = "01", Folio = "414628" }; var now = DateTime.Parse("2018-06-16"); Shim shim = Shim.Replace(() => DateTime.UtcNow).With(() => now.ToUniversalTime()); using (ShimsContext.Create()) //PoseContext.Isolate(() => { System.Fakes.ShimDateTime.UtcNowGet = () => now.ToUniversalTime(); _context.CancelSale(request, 0); } //, shim); }
public void CancelFormaPago_TD() { var compro = "0000003678429"; var pago = 539m; var model = new Common.Entities.SaleRequest() { Sucursal = "08", VendedorId = 132 }; model.Productos = new Common.Entities.SerieFormasPago[] { new Common.Entities.SerieFormasPago { Serie = compro, FormasPago = new Common.Constants.FormaPago[] { Common.Constants.FormaPago.EF } } }; model.Pagos = new Common.Entities.Pago[] { new Common.Entities.Pago { FormaPago = Common.Constants.FormaPago.TD, Importe = pago, Terminacion = "123" } }; _context.RequestProducto(compro, 0); Common.Entities.SaleResponse folio = null; using (ShimsContext.Create()) { System.Fakes.ShimDateTime.NowGet = () => { return(DateTime.Parse("2019-03-06")); }; folio = _context.Sale(model, 0); } Assert.AreEqual("295595", folio.Folio); var request = new Common.Entities.CancelSaleRequest { Sucursal = "08", Folio = "295595" }; _context.CancelSale(request, 0); }
public void cancelarCambio(string sucursal, string folio) { var request = new Common.Entities.CancelSaleRequest { Sucursal = sucursal, Folio = folio }; _process.CancelSale(request, 0); var ctx = new SirCoPVDataContext(); var pagos = ctx.PagosDetalle.Where(i => i.sucursal == sucursal && i.pago == folio && i.idformapago == (int)Common.Constants.FormaPago.DV); foreach (var item in pagos) { var suc = item.referencia.Substring(0, 2); var fol = item.referencia.Substring(2); var dev = ctx.Devoluciones.Where(i => i.sucursal == suc && i.devolvta == fol).Single(); _process.CancelReturn(dev.sucursal, dev.devolvta, 0); } }
public CancelacionDevolucionViewModel() { if (!this.IsInDesignMode) { _data = CommonServiceLocator.ServiceLocator.Current.GetInstance <Common.ServiceContracts.IDataServiceAsync>(); _proxy = CommonServiceLocator.ServiceLocator.Current.GetInstance <Common.ServiceContracts.IDataServiceAsync>(); _client = new Helpers.ServiceClient(); } _common = new Helpers.CommonHelper(); this.Productos = new ObservableCollection <Models.CancelProducto>(); this.CancelCommand = new GalaSoft.MvvmLight.Command.RelayCommand(async() => { this.IsBusy = true; var request = new Common.Entities.CancelSaleRequest { Sucursal = this.Devolucion.Sucursal, Folio = this.Devolucion.Folio }; await _client.CancelReturnAsync(request.Sucursal, request.Folio); this.Complete(); MessageBox.Show("ready"); this.CloseCommand.Execute(null); this.IsBusy = false; }, () => this.Productos.Any() && !this.Productos.Where(i => !i.Scanned).Any()); this.SearchCommand = new RelayCommand(() => { var ser = _common.PrepareSerie(this.Search); var item = _data.ScanProductoFromDevolucion(ser); if (!this.Productos.Any()) { if (item != null && item.Success) { this.Search = null; var dev = _data.FindDevolucionView(item.Producto.Sucursal, item.Producto.Folio, this.Cajero.Id); if (this.Sucursal.Clave != dev.Sucursal) { MessageBox.Show($"La devolución pertenece a otra sucursal ({dev.Sucursal})"); return; } this.Devolucion = new Models.SucursalFolio { Sucursal = dev.Sucursal, Folio = dev.Folio }; foreach (var ditem in dev.Productos) { var can = new Models.CancelProducto { Producto = new Producto { Id = ditem.ArticuloId, Modelo = ditem.Modelo, Marca = ditem.Marca, Precio = ditem.Precio, Serie = ditem.Serie, Talla = ditem.Medida } }; this.Productos.Add(can); can.PropertyChanged += (s, e) => { this.CancelCommand.RaiseCanExecuteChanged(); }; if (can.Producto.Serie == ser) { can.Scanned = true; } } } } else { var pitem = this.Productos.Where(i => i.Producto.Serie == ser).SingleOrDefault(); if (pitem != null) { this.Search = null; pitem.Scanned = true; } else { this.ErrorMessage = Resources.Resource.Cancelacion_NoEncontrado; } } }, () => !string.IsNullOrEmpty(this.Search)); if (this.IsInDesignMode) { this.Search = "0000003678429"; this.Devolucion = new Models.SucursalFolio { Sucursal = "00", Folio = "000123" }; this.Productos.Add(new Models.CancelProducto { Scanned = true, Producto = new Producto { Id = 1, Serie = "001", Marca = "a", Modelo = "b", Talla = "c", Precio = 100, Total = 100, HasImage = true } }); this.Productos.Add(new Models.CancelProducto { Scanned = true, Producto = new Producto { Id = 2, Serie = "002", Marca = "a", Modelo = "b", Talla = "c", Precio = 100, Total = 1000, HasImage = true } }); this.Productos.Add(new Models.CancelProducto { Scanned = false, Producto = new Producto { Id = 3, Serie = "003", Marca = "a", Modelo = "b", Talla = "c", Precio = 100, Total = 1234.25m } }); this.Productos.Add(new Models.CancelProducto { Scanned = true, Producto = new Producto { Id = 4, Serie = "004", Marca = "a", Modelo = "b", Talla = "c", Precio = 100, Total = 12456 } }); this.Productos.Add(new Models.CancelProducto { Scanned = false, Producto = new Producto { Id = 5, Serie = "005", Marca = "a", Modelo = "b", Talla = "c", Precio = 100, Total = 9.99m } }); } }
public CancelacionViewModel() { if (!IsInDesignMode) { _proxy = CommonServiceLocator.ServiceLocator.Current.GetInstance <Common.ServiceContracts.IDataServiceAsync>(); _client = new Helpers.ServiceClient(); } _common = new Helpers.CommonHelper(); this.PropertyChanged += CancelacionViewModel_PropertyChanged; this.Productos = new ObservableCollection <Models.CancelProducto>(); this.Productos.CollectionChanged += Productos_CollectionChanged; this.ScanCommand = new GalaSoft.MvvmLight.Command.RelayCommand(async() => { this.IsBusy = true; await Scan(); this.IsBusy = false; }, () => !string.IsNullOrWhiteSpace(this.SerieSearch)); this.CancelCommand = new GalaSoft.MvvmLight.Command.RelayCommand(async() => { this.IsBusy = true; var request = new Common.Entities.CancelSaleRequest { Sucursal = this.Venta.Sucursal, Folio = this.Venta.Folio }; await _client.CancelSaleAsync(request); this.Complete(); this.IsBusy = false; }, () => this.Productos.Any() && !this.Productos.Where(i => !i.Scanned).Any()); if (this.IsInDesignMode) { this.ErrorMessage = "error"; this.Venta = new Models.SucursalFolio { Sucursal = "01", Folio = "414628" }; this.SerieSearch = "0000003343805"; this.Productos.Add(new Models.CancelProducto { Scanned = true, Producto = new Producto { Id = 1, Serie = "001", Marca = "a", Modelo = "b", Talla = "c", Precio = 100, Total = 100, HasImage = true } }); this.Productos.Add(new Models.CancelProducto { Scanned = true, Producto = new Producto { Id = 2, Serie = "002", Marca = "a", Modelo = "b", Talla = "c", Precio = 100, Total = 1000, HasImage = true } }); this.Productos.Add(new Models.CancelProducto { Scanned = false, Producto = new Producto { Id = 3, Serie = "003", Marca = "a", Modelo = "b", Talla = "c", Precio = 100, Total = 1234.25m } }); this.Productos.Add(new Models.CancelProducto { Scanned = true, Producto = new Producto { Id = 4, Serie = "004", Marca = "a", Modelo = "b", Talla = "c", Precio = 100, Total = 12456 } }); this.Productos.Add(new Models.CancelProducto { Scanned = false, Producto = new Producto { Id = 5, Serie = "005", Marca = "a", Modelo = "b", Talla = "c", Precio = 100, Total = 9.99m } }); } }
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); } }
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); } }
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); } }
public void CancelFormaPago_DV_CancelDV() { /* * 1 NULL 0000003678429 AC 539.00 CTA 682 16- A 15 17 324 * 2 NULL 0000003522471 AC 539.00 CTA 682 15 A 15 17 324 * 3 NULL 0000003776476 AC 589.00 CTA 682 19- B 17- 21 324 * 4 NULL 0000003776472 AC 589.00 CTA 682 18- B 17- 21 324 * 5 NULL 0000003678238 AC 649.00 CTA 682 24 C 21- 26 324 * 6 NULL 0000003676610 AC 649.00 CTA 682 25 C 21- 26 324 */ var model = new Common.Entities.SaleRequest() { Sucursal = "01", VendedorId = 132 }; model.Productos = new Common.Entities.SerieFormasPago[] { new Common.Entities.SerieFormasPago { Serie = "0000003678429", FormasPago = new Common.Constants.FormaPago[] { Common.Constants.FormaPago.EF } } }; model.Pagos = new Common.Entities.Pago[] { new Common.Entities.Pago { FormaPago = Common.Constants.FormaPago.EF, Importe = 539 } }; _context.RequestProducto("0000003678429", 0); var sctx = new DataAccess.SirCoDataContext(); var oserie = sctx.Series.Where(i => i.serie == "0000003678429").Single(); Assert.AreEqual("CA", oserie.status); Common.Entities.SaleResponse folio = null; using (ShimsContext.Create()) { System.Fakes.ShimDateTime.NowGet = () => { return(DateTime.Parse("2019-03-06")); }; folio = _context.Sale(model, 0); } Assert.AreEqual("434054", folio.Folio); sctx.Entry(oserie).Reload(); Assert.AreEqual("BA", oserie.status); var crequest = new Common.Entities.ChangeRequest { Sucursal = "01", Folio = "434054", Items = new Common.Entities.ChangeItem[] { new Common.Entities.ChangeItem { OldItem = "0000003678429", NewItem = "0000003522471" } } }; _context.RequestProducto("0000003522471", 0); Common.Entities.ChangeResponse cres = null; using (ShimsContext.Create()) { System.Fakes.ShimDateTime.NowGet = () => { return(DateTime.Parse("2019-03-07")); }; cres = _context.Change(crequest, 0, "08"); } Assert.AreEqual("295595", cres.Venta); Assert.AreEqual("023287", cres.Devolucion); sctx.Entry(oserie).Reload(); Assert.AreEqual("AC", oserie.status); var ctx = new DataAccess.SirCoPVDataContext(); var dev = ctx.Devoluciones.Where(i => i.sucursal == "08" && i.devolvta == "023287").Single(); Assert.AreEqual(0, dev.disponible); var cancel = new Common.Entities.CancelSaleRequest { Sucursal = "08", Folio = "295595" }; using (ShimsContext.Create()) { System.Fakes.ShimDateTime.NowGet = () => { return(DateTime.Parse("2019-03-07")); }; _context.CancelSale(cancel, 0); } ctx.Entry(dev).Reload(); Assert.AreEqual(539, dev.disponible); using (ShimsContext.Create()) { System.Fakes.ShimDateTime.NowGet = () => { return(DateTime.Parse("2019-03-07")); }; _context.CancelReturn(dev.sucursal, dev.devolvta, 0); } ctx.Entry(dev).Reload(); Assert.AreEqual("ZC", dev.estatus); sctx.Entry(oserie).Reload(); Assert.AreEqual("BA", oserie.status); }