public void ChangeTest() { var request = new Common.Entities.ChangeRequest { Sucursal = "01", Folio = "422168", Items = new Common.Entities.ChangeItem[] { new Common.Entities.ChangeItem { OldItem = "0000003518445", NewItem = "0000003518435" }, new Common.Entities.ChangeItem { OldItem = "0000003583185", NewItem = "0000003579528" }, new Common.Entities.ChangeItem { OldItem = "0000003584922", NewItem = "0000003584920" } } }; var ctx = new DataAccess.SirCoDataContext(); ctx.UpdateSerieStatus("0000003518435", Status.CA, Status.AC, 0); ctx.UpdateSerieStatus("0000003579528", Status.CA, Status.AC, 0); ctx.UpdateSerieStatus("0000003584920", Status.CA, Status.AC, 0); var res = _context.Change(request, 0, request.Sucursal); Assert.AreEqual("027852", res.Devolucion); Assert.AreEqual("434054", res.Venta); }
public Common.Entities.MedidasCorridas GetPrecios(int id) { var ctx = new DataAccess.SirCoDataContext(); var corridas = ctx.Corridas.Where(i => i.ArticuloId == id) .Select(i => new Common.Entities.TallaPrecio { Corrida = i.corrida, MedidaInicio = i.medini, MedidaFin = i.medfin, Precio = i.precio }).Distinct(); var ctxc = new DataAccess.SirCoControlDataContext(); var sucs = ctxc.Sucursales.Where(i => i.ordenweb.HasValue) .Select(i => i.sucursal).ToArray(); var status = new string[] { Common.Constants.Status.ZC.ToString() }; var medidas = ctx.Series.Where(i => i.ArticuloId == id && !status.Contains(i.status)) .OrderBy(i => i.medida) .Select(i => i.medida) .Distinct(); var res = new Common.Entities.MedidasCorridas { Corridas = corridas, Medidas = medidas }; return(res); }
public static DataAccess.SirCo.Corrida GetCorrida(this DataAccess.SirCoDataContext ctx, DataAccess.SirCo.Serie item) { var corrida = ctx.Corridas.Where(i => i.marca == item.marca && i.estilon == item.estilon && i.proveedor == item.proveedors && String.Compare(item.medida, i.medini) >= 0 && String.Compare(item.medida, i.medfin) <= 0 ).SingleOrDefault(); return(corrida); }
public ReciboDevolucionReport GetReciboDevolucion(string sucursal, string folio) { var ctxpv = new DataAccess.SirCoPVDataContext(); var ctxc = new DataAccess.SirCoControlDataContext(); var ctx = new DataAccess.SirCoDataContext(); var devolucion = ctxpv.Devoluciones.Where(i => i.sucursal == sucursal && i.devolvta == folio).Single(); var vendedor = this.GetEmpleado(devolucion.idvendedor); var cajero = this.GetEmpleado(devolucion.idcajero); var suc = ctxc.Sucursales.Where(i => i.sucursal == devolucion.sucursal).Single(); var ventaSucursal = devolucion.referencia.Substring(0, 2); var ventaFolio = devolucion.referencia.Substring(2); var item = new ReciboDevolucionReport { Recibo = new ReciboDevolucion { SucursalId = devolucion.sucursal, SucursalNombre = suc.descrip, Fecha = devolucion.fum.Value, VendedorId = $"{devolucion.idvendedor}", VendedorNombre = vendedor, CajeroId = $"{devolucion.idcajero}", CajeroNombre = cajero, Folio = devolucion.devolvta, SucursalVenta = ventaSucursal, FolioVenta = ventaFolio } }; var plist = new List <Producto>(); foreach (var det in devolucion.Detalles) { var serie = ctx.Series.Where(i => i.serie == det.serie).Single(); plist.Add( new Producto { Serie = det.serie, Precio = det.precio.Value, Importe = det.precdesc.Value, Marca = det.marca, Descripcion = serie.Articulo.Descripcion }); } item.Productos = plist; return(item); }
public ActionResult Producto(int?id, string marca, string modelo, int w = 100, int h = 100) { var ctx = new DataAccess.SirCoDataContext(); var ctxi = new DataAccess.SirCoImgDataContext(); if (id.HasValue) { var item = ctx.Articulos.Where(i => i.Id == id).SingleOrDefault(); if (item == null) { return(HttpNotFound()); } marca = item.Marca; modelo = item.Modelo; } else { if (modelo.Length < 7) { modelo = modelo.PadLeft(7); } } //============================================================================================================================================= var img = ctxi.Imagenes.Where(i => i.Marca == marca && i.Estilon == modelo).SingleOrDefault(); if (img == null || img.Foto == null) { return(HttpNotFound()); } var ms = new System.IO.MemoryStream(); ImageResizer.ImageBuilder.Current.Build(img.Foto, ms, new ImageResizer.ResizeSettings() { Mode = ImageResizer.FitMode.None, Width = w, Height = h, Format = "png" }); ms.Position = 0; return(File(ms, "image/png", $"{marca}_{modelo.Replace(' ', '_')}.png")); }
public Common.Entities.DevolucionView FindDevolucionView(string sucursal, string folio, int idcajero) { var ctx = new DataAccess.SirCoPVDataContext(); var ctxs = new DataAccess.SirCoDataContext(); SirCoPOS.DataAccess.SirCoPV.Devolucion item; if (folio != null) { item = ctx.Devoluciones.Where(i => i.sucursal == sucursal && i.devolvta == folio).SingleOrDefault(); } else { item = ctx.Devoluciones.Where(i => i.sucursal == sucursal && i.idcajero == idcajero) .OrderByDescending(i => i.fum).First(); } if (item == null) { return(null); } var res = new Common.Entities.DevolucionView { Sucursal = item.sucursal, Folio = item.devolvta, Productos = item.Detalles.Select(i => new ProductoView { Serie = i.serie, Precio = i.precio, Marca = i.marca, Modelo = i.estilon, Medida = i.medida }).ToArray() }; foreach (var det in res.Productos) { var ser = ctxs.Series.Where(i => i.serie == det.Serie).Single(); det.ArticuloId = ser.ArticuloId; } return(res); }
public IEnumerable <Common.Entities.SucursalExistencia> GetExistencias(int id, string medida) { var ctx = new DataAccess.SirCoDataContext(); var status = new string[] { Common.Constants.Status.AC.ToString(), Common.Constants.Status.IF.ToString() }; var ctxc = new DataAccess.SirCoControlDataContext(); var sucs = ctxc.Sucursales.Where(i => i.ordenweb.HasValue) .Select(i => i.sucursal).ToArray(); var res = ctx.Series.Where(i => i.ArticuloId == id && i.medida == medida && status.Contains(i.status) && sucs.Contains(i.sucursal)) .GroupBy(i => i.sucursal) .Select(i => new Common.Entities.SucursalExistencia { Sucursal = i.Key, Count = i.Count() }); return(res); }
//====================================================================================================================== public CorteResponse GetCorteCaja(string sucursal, int idcajero) { var ctxpv = new DataAccess.SirCoPVDataContext(); var ctxpos = new DataAccess.SirCoPOSDataContext(); var fondo = ctxpos.Fondos.Where(i => i.ResponsableId == idcajero && i.CajaSucursal == sucursal && !i.FechaCierre.HasValue).SingleOrDefault(); if (fondo == null) { return(null); } //var fecha = fondo.FechaApertura; //var fechaDocs = fecha; //var arqueo = fondo.Arqueos.OrderByDescending(i => i.Fecha).FirstOrDefault(); //if (arqueo != null) // fecha = arqueo.Fecha; //var q = from h in ctxpv.Pagos // where h.sucursal == sucursal // && h.idcajero == idcajero // && h.estatus == "AP" && h.fum > fechaDocs // from d in h.Detalle // //where d.idformapago != (int)Common.Constants.FormaPago.EF // group d by d.idformapago into g // select new { // FormaPago = g.Key, // Count = g.Count(), // Total = g.Sum(i => i.importe) // }; var res = new CorteResponse(); //res.FormaPagoTotales = q.Where(i => i.FormaPago != (int)Common.Constants.FormaPago.EF) // .ToArray().Select(i => new Common.Entities.FormaPagoCorte //{ // FormaPago = (Common.Constants.FormaPago)i.FormaPago, // Count = i.Count, // Total = i.Total //}).ToArray(); //var ef = q.Where(i => i.FormaPago == (int)Common.Constants.FormaPago.EF).SingleOrDefault(); //res.Ventas = ef?.Total ?? 0; //res.Caja = fondo.Disponible; //res.Importe = fondo.Disponible; res.Importe = fondo.Caja.Disponible; res.FormaPagoTotales = fondo.Caja.FormasPago.Where(i => i.Unidades > 0).Select(i => new FormaPagoCorte { FormaPago = (Common.Constants.FormaPago)i.FormaPago, Count = i.Unidades, Total = i.Monto }); //var qq = ctxpos.Cortes.Where(i => i.CajeroId == idcajero && i.Fecha > fondo.FechaApertura); //var formasPago = res.FormaPagoTotales.ToList(); //foreach (var doc in qq) //{ // if(!ctxpos.Entry(doc).Collection(i => i.FormasPago).IsLoaded) // ctxpos.Entry(doc).Collection(i => i.FormasPago).Load(); // foreach (var fp in doc.FormasPago) // { // var item = formasPago.Where(i => (int)i.FormaPago == fp.FormaPago).Single(); // item.Count -= fp.Entregado; // item.Total -= fp.Monto; // if (item.Count == 0) // { // formasPago.Remove(item); // } // } //} //res.FormaPagoTotales = formasPago; var ctx = new DataAccess.SirCoDataContext(); //ESTA ES LA LINEA DONDE APARECE EL ERROR AL GENERAR EL CIERRE var qs = ctx.Series.Where(i => i.status == "AB" && i.sucursal == sucursal); // && i.idusuariocaja == idcajero); var list = new List <Common.Entities.SeriePrecio>(); foreach (var det in qs) { var cor = ctx.GetCorrida(det); list.Add(new SeriePrecio { Serie = det.serie, Importe = cor.precio }); } res.Series = list; return(res); }
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 Producto FindProducto(string marca, string modelo, string sucursal) { var ctx = new DataAccess.SirCoDataContext(); var ctxi = new DataAccess.SirCoImgDataContext(); //var status = new string[] { Common.Constants.Status.ZC.ToString() }; var item = ctx.Corridas.Include(i => i.Articulo) .Where(i => i.marca == marca && i.estilon == modelo) .OrderByDescending(i => i.ult_vta) .FirstOrDefault(); //var q = ctx.Series.Where(i => i.serie == serie // && !status.Contains(i.status)); //var item = q.Where(i => i.sucursal == sucursal).SingleOrDefault(); //if (item == null) //{ // var ctxc = new DataAccess.SirCoControlDataContext(); // var sucs = ctxc.Sucursales.Where(i => i.ordenweb.HasValue) // .Select(i => i.sucursal).ToArray(); // item = q.Where(i => sucs.Contains(i.sucursal)).SingleOrDefault(); //} if (item != null) { if (item.ArticuloId > 0) { var isElectronica = item.Articulo.iddivisiones == (int)Divisiones.Electronica; var isParUnico = _sale.IsParUnico(item.Articulo.idagrupacion); var corrida = item; //if (corrida == null) // return null; var qimg = ctxi.Imagenes.Where(i => i.Marca == item.marca && i.Estilon == item.estilon); byte?maxPlazos = null; if (isElectronica) { var com = new BusinessLogic.Data(); maxPlazos = com.GetParametro <byte?>($"{corrida.marca}{corrida.estilon.Replace(' ', '_')}", sucursal); if (!maxPlazos.HasValue) { maxPlazos = com.GetParametro <byte?>(Common.Constants.Parametros.ELECTRONICA); } } return(new Producto { Id = item.ArticuloId, Corrida = corrida.corrida, Marca = item.marca, Modelo = item.estilon, //Precio = corrida.precio, //Serie = item.serie, //Talla = item.medida, Total = corrida.precio, HasImage = qimg.Any(), Electronica = isElectronica, ParUnico = isParUnico, MaxPlazos = maxPlazos, //Sucursal = item.sucursal }); } else { return(new Producto { Id = item.ArticuloId, //Corrida = corrida.corrida, Marca = item.marca, Modelo = item.estilon //Precio = corrida.precio, //,Serie = item.serie //,Talla = item.medida, //Total = corrida.precio, //HasImage = qimg.Any(), //Electronica = isElectronica, //ParUnico = isParUnico, //MaxPlazos = maxPlazos }); } } return(null); }
public void ReturnDifCorridaMismoPrecio2() { /* * 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 ctx = new DataAccess.SirCoPVDataContext(); var sctx = new DataAccess.SirCoDataContext(); var cor = sctx.Corridas.Where(i => i.marca == "KLI" && i.estilon == " 1" && i.corrida == "D").Single(); cor.precio = 539; sctx.SaveChanges(); var model = new Common.Entities.SaleRequest() { Sucursal = "01", VendedorId = 132 }; model.Productos = new Common.Entities.SerieFormasPago[] { new Common.Entities.SerieFormasPago { Serie = "0000003391871", 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("0000003391871", 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("434054", folio.Folio); var crequest = new Common.Entities.ChangeRequest { Sucursal = "01", Folio = "434054", Items = new Common.Entities.ChangeItem[] { new Common.Entities.ChangeItem { OldItem = "0000003391871", NewItem = "0000003678429" } } }; _context.RequestProducto("0000003678429", 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); var dev = ctx.Devoluciones.Where(i => i.sucursal == "08" && i.devolvta == "023287").Single(); Assert.AreEqual(0, dev.disponible); }
public void CambioPromoDifCorridaMismoPrecio() { /* * 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 compro = "0000003776476"; var pago = 412.3m;//589m; var disponible = 0; var cambio = "0000003678429"; var sctx = new DataAccess.SirCoDataContext(); var cor = sctx.Corridas.Where(i => i.marca == "CTA" && i.estilon == " 682" && i.corrida == "A").Single(); cor.precio = 589m; sctx.SaveChanges(); var model = new Common.Entities.SaleRequest() { Sucursal = "01", VendedorId = 132, PromocionesCupones = new Common.Entities.PromocionCuponItem[] { new Common.Entities.PromocionCuponItem { PromocionId = 200 } } }; 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.EF, Importe = pago } }; _context.RequestProducto(compro, 0); Common.Entities.SaleResponse folio = null; using (ShimsContext.Create()) { System.Fakes.ShimDateTime.UtcNowGet = () => DateTime.Parse("2019-10-20").ToUniversalTime(); folio = _context.Sale(model, 0); } Assert.AreEqual("434054", folio.Folio); var crequest = new Common.Entities.ChangeRequest { Sucursal = "01", Folio = "434054", Items = new Common.Entities.ChangeItem[] { new Common.Entities.ChangeItem { OldItem = compro, NewItem = cambio } } }; _context.RequestProducto(cambio, 0); Common.Entities.ChangeResponse cres = null; using (ShimsContext.Create()) { System.Fakes.ShimDateTime.UtcNowGet = () => DateTime.Parse("2019-10-21").ToUniversalTime(); cres = _context.Change(crequest, 0, "08"); } Assert.AreEqual("295595", cres.Venta); Assert.AreEqual("023287", cres.Devolucion); var ctx = new DataAccess.SirCoPVDataContext(); var dev = ctx.Devoluciones.Where(i => i.sucursal == "08" && i.devolvta == "023287").Single(); Assert.AreEqual(disponible, dev.disponible); }
public void CambioMismaCorridaCambioPrecioMayorPromocion() { /* * 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); 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); var ctx = new DataAccess.SirCoPVDataContext(); var det = ctx.VentasDetalle.Where(i => i.sucursal == model.Sucursal && i.venta == "434054" && i.serie == "0000003678429").Single(); det.idpromocion = 18; //prueba det.precdesc = 269.5m; //539 / 2 = 50% ctx.SaveChanges(); var sctx = new DataAccess.SirCoDataContext(); var cor = sctx.Corridas.Where(i => i.marca == "CTA" && i.estilon.Trim() == "682" && i.corrida == "A").Single(); cor.precio = 600; sctx.SaveChanges(); 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); var dev = ctx.Devoluciones.Where(i => i.sucursal == "08" && i.devolvta == "023287").Single(); Assert.AreEqual(0m, dev.disponible); var vdet = ctx.VentasDetalle.Where(i => i.sucursal == "08" && i.venta == "295595" && i.serie == "0000003522471").Single(); Assert.AreEqual(539m, vdet.precio); Assert.AreEqual(269.5m, vdet.precdesc); }
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_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); }
public void ReturnDifCorridaDifPrecioDevolucion() { /* * ('0000003391871', 'venta') * ,('0000003391872', 'misma corrida') * ,('0000003485731', 'dif corrida, mismo precio') * ,('0000003556980', 'dif corrida, precio mayor') */ var sctx = new DataAccess.SirCoDataContext(); sctx.Database.ExecuteSqlCommand("update serie set status = 'AC' where serie = @serie", new System.Data.SqlClient.SqlParameter("@serie", "0000003556980")); var model = new Common.Entities.SaleRequest() { Sucursal = "01", VendedorId = 132 }; model.Productos = new Common.Entities.SerieFormasPago[] { new Common.Entities.SerieFormasPago { Serie = "0000003556980", 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 = 359 } }; _context.RequestProducto("0000003556980", 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("434054", folio.Folio); var crequest = new Common.Entities.ChangeRequest { Sucursal = "01", Folio = "434054", Items = new Common.Entities.ChangeItem[] { new Common.Entities.ChangeItem { OldItem = "0000003556980", NewItem = "0000003391871" } } }; _context.RequestProducto("0000003391871", 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); var ctx = new DataAccess.SirCoPVDataContext(); var dev = ctx.Devoluciones.Where(i => i.sucursal == "08" && i.devolvta == "023287").Single(); Assert.AreEqual(30, dev.disponible); }
public void ReturnDifCorridaMismoPrecio() { /* * ('0000003391871', 'venta') * ,('0000003391872', 'misma corrida') * ,('0000003485731', 'dif corrida, mismo precio') * ,('0000003556980', 'dif corrida, precio mayor') */ var ctx = new DataAccess.SirCoPVDataContext(); var sctx = new DataAccess.SirCoDataContext(); var cor = sctx.Corridas.Where(i => i.marca == "KLI" && i.estilon == " 1" && i.corrida == "D").Single(); cor.precio = 339; sctx.SaveChanges(); var model = new Common.Entities.SaleRequest() { Sucursal = "01", VendedorId = 132 }; model.Productos = new Common.Entities.SerieFormasPago[] { new Common.Entities.SerieFormasPago { Serie = "0000003391871", 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 = 339 } }; _context.RequestProducto("0000003391871", 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("434054", folio.Folio); var crequest = new Common.Entities.ChangeRequest { Sucursal = "01", Folio = "434054", Items = new Common.Entities.ChangeItem[] { new Common.Entities.ChangeItem { OldItem = "0000003391871", NewItem = "0000003485731" } } }; _context.RequestProducto("0000003485731", 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); var dev = ctx.Devoluciones.Where(i => i.sucursal == "08" && i.devolvta == "023287").Single(); Assert.AreEqual(0, dev.disponible); }
public ReciboCompraReport GetReciboCompra(string sucursal, string folio) { var ctxpv = new DataAccess.SirCoPVDataContext(); var ctxc = new DataAccess.SirCoControlDataContext(); var ctxn = new DataAccess.SirCoNominaDataContext(); var ctx = new DataAccess.SirCoDataContext(); var ctxa = new DataAccess.SirCoAPPDataContext(); var venta = ctxpv.Ventas.Where(i => i.sucursal == sucursal && i.venta == folio).Single(); var dinero = ctxa.DinerosDetalle.Where(i => i.sucnota == sucursal && i.nota == folio).SingleOrDefault(); var vendedor = this.GetEmpleado(venta.idvendedor); var cajero = this.GetEmpleado(venta.idcajero); var suc = ctxc.Sucursales.Where(i => i.sucursal == venta.sucursal).Single(); var item = new ReciboCompraReport { Recibo = new Common.Entities.Reports.ReciboCompra { SucursalId = venta.sucursal, SucursalNombre = suc.descrip, RFC = "CTO-911211JL9", Direccion = suc.calle, Colonia = suc.colonia, Fecha = venta.fum.Value, VendedorId = $"{venta.idvendedor}", VendedorNombre = vendedor, CajeroId = $"{venta.idcajero}", CajeroNombre = cajero, Folio = venta.venta, Efectivo = 3975, Descuento = 500, Cambio = DateTime.Parse("2019-07-13"), Dinero = dinero?.importe } }; var plist = new List <Common.Entities.Reports.Producto>(); foreach (var det in venta.Detalles) { var serie = ctx.Series.Where(i => i.serie == det.serie).Single(); plist.Add( new Common.Entities.Reports.Producto { Serie = det.serie, Precio = det.precio.Value, Importe = det.precdesc.Value, Marca = det.marca, Descripcion = serie.Articulo.Descripcion }); } item.Productos = plist; var pdlist = new List <Common.Entities.Reports.Pago>(); //if(!ctxpv.Entry(venta).Reference(i => i.Pago).IsLoaded) // ctxpv.Entry(venta).Reference(i => i.Pago).Load(); //if (!ctxpv.Entry(venta.Pago).Collection(i => i.Detalle).IsLoaded) // ctxpv.Entry(venta.Pago).Collection(i => i.Detalle).Load(); var pagos = venta.Pago.Detalle; foreach (var det in pagos) { var pa = new Pago { FormaPago = ((Common.Constants.FormaPago)det.idformapago).ToString(), Importe = det.importe.Value, Referencia = null, Folio = null }; pdlist.Add(pa); } item.Pagos = pdlist; var pplist = new List <Common.Entities.Reports.PlanPago>(); var ctxcr = new DataAccess.SirCoCreditoDataContext(); //============================================================================================== var ppagos = ctxcr.PlanPagosDetalle.Where(i => i.sucursal == "447279"); foreach (var det in ppagos) { pplist.Add(new PlanPago { Pago = (int)det.pago, Date = det.fechaaplicar, Importe = det.importe }); } item.PlanPagos = pplist; return(item); }
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); } }