public decimal?FindMonedero(int cliente) { var now = BusinessLogic.Helpers.Common.GetNow(); var ctxc = new DataAccess.SirCoCreditoDataContext(); var ctxa = new DataAccess.SirCoAPPDataContext(); var cli = ctxc.Clientes.Where(i => i.idcliente == cliente).SingleOrDefault(); if (cli == null) { return(null); } var md = ctxa.Dineros.Where(i => i.idsucursal == cli.idsucursal && i.cliente == cli.cliente).SingleOrDefault(); if (md == null) { return(null); } if (md.vigencia.HasValue && md.vigencia < now) { return(null); } return(md.saldo); }
public ActionResult Empleado(int id, int w = 100, int h = 100) { var ctx = new DataAccess.SirCoAPPDataContext(); var img = ctx.EmpleadosImgs.Where(i => i.idempleado == id).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", $"{id}.png")); }
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); } }
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); } }