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 T GetParametro <T>(string key, string sucursal = null) { var converter = TypeDescriptor.GetConverter(typeof(T)); if (converter == null) { throw new NotSupportedException(); } var ctx = new DataAccess.SirCoControlDataContext(); var q = ctx.Parametros.Where(i => i.clave == key); var qs = q.Where(i => i.sucursal == sucursal); if (qs.Any()) { var item = qs.Single(); return((T)converter.ConvertFrom(item.valor)); } else { var item = q.Where(i => i.sucursal == "99").SingleOrDefault(); if (item != null) { return((T)converter.ConvertFrom(item.valor)); } return(default(T)); } }
public Sucursal FindSucursal(string sucursal) { var ctx = new DataAccess.SirCoControlDataContext(); var item = ctx.Sucursales.Where(i => i.sucursal == "06").Single(); var res = new Common.Entities.Sucursal { Id = item.idsucursal, Clave = item.sucursal, Descripcion = item.descrip }; return(res); }
public IEnumerable <Common.Entities.NegocioExterno> GetNegocios() { var ctx = new DataAccess.SirCoControlDataContext(); var q = ctx.NegociosExternos .OrderBy(i => i.descripcion) .Select(i => new Common.Entities.NegocioExterno { Id = i.idnegexterno, Negocio = i.negocio, Descripcion = i.descripcion }); return(q); }
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 IEnumerable <Colonia> FindColonias(string cp) { var ctx = new DataAccess.SirCoControlDataContext(); var q = ctx.Colonias.Where(i => i.codigopostal == cp); var res = q.Select(i => new Common.Entities.Colonia { Id = i.idcolonia, Nombre = i.colonia, CodigoPostal = i.codigopostal, CiudadId = i.idciudad, CiudadNombre = i.Ciudad.ciudad, EstadoId = i.idestado, EstadoNombre = i.Ciudad.Estado.estado }).ToArray(); 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 ValeResponse FindTarjetahabiente(string id) { var ctx = new DataAccess.SirCoCreditoDataContext(); var ctxc = new DataAccess.SirCoControlDataContext(); var item = ctx.Distribuidores.Where(i => i.distrib == id //&& i.tipodistrib == Common.Constants.TipoDistribuidor.NORMAL && i.clasificacion == Common.Constants.TipoCredito.TARJETAHABIENTE ).SingleOrDefault(); if (item == null) { return(null); } var dis = new Common.Entities.Distribuidor { Id = item.iddistrib, //Nombre = item.nombre, //ApPaterno = item.appaterno, //ApMaterno = item.apmaterno, Nombre = item.nombrecompleto, Status = item.idestatus.Value, Electronica = item.solocalzado == 0, Electronica2 = item.negext == 0, Plazos = item.idperiodicidad.Value, Promocion = item.promocion == 1 , Number = item.distrib }; var model = dis; var num = int.Parse(item.distrib).ToString(); var qpp = ctx.PlanPagos.Where(i => i.vale.Trim() == num); var qp = qpp.Where(i => i.pagado == "0"); var usado = qp.Any() ? qp.Sum(i => i.saldo) : 0; model.Disponible = Math.Min(item.limitevale.Value, item.disponible.Value);// - usado; model.Disponible = model.Disponible < 0 ? 0 : model.Disponible; var q = ctx.DistribuidorFirmas.Where(i => i.distrib == item.distrib); model.Firmas = q.Select(i => i.numfirma).ToArray(); //var last = qpp.OrderByDescending(i => i.fum).FirstOrDefault(); //if (last != null) //{ // var suc = ctxc.Sucursales.Where(i => i.sucursal == last.succliente).Single(); // var cli = ctx.Clientes.Where(i => i.cliente == last.cliente && i.idsucursal == suc.idsucursal).Single(); // model.ClienteId = cli.idcliente; //} if (item.clientedi != null) { var suc = ctxc.Sucursales.Where(i => i.sucursal == item.succtedi).Single(); var cli = ctx.Clientes.Where(i => i.idsucursal == suc.idsucursal && i.cliente == item.clientedi).Single(); model.ClienteId = cli.idcliente; } return(new ValeResponse { Distribuidor = model, Vale = id, Disponible = model.Disponible ?? 0, //public bool Cancelado { get; set; } //public string CanceladoMotivo { get; set; } ClienteId = model.ClienteId, //public bool WithLimite { get; set; } //public decimal? Limite { get; set; } }); }
protected override void Execute(CodeActivityContext context) { var now = DateTime.Now; var ctx = new DataAccess.SirCoPOSDataContext(); var request = context.GetValue(this.Request); var item = new DataAccess.SirCoPOS.SolicitudCreditoVale { Id = Guid.NewGuid(), date = DateTime.Now, electronica = request.Electronica, idusuario = request.idusuario, monto = request.Monto, vale = request.Vale }; ctx.SolicitudesCreditoVales.Add(item); ctx.SaveChanges(); //----------------------------- bool?processing = null; var cctx = new DataAccess.SirCoCreditoDataContext(); var ctxc = new DataAccess.SirCoControlDataContext(); var vale = ctx.ValesCliente.Where(i => i.vale == request.Vale).Single(); var ditem = cctx.Distribuidores.Where(i => i.iddistrib == item.ValeCliente.iddistrib).Single(); if (ditem.tipodistrib == "NORMAL" && request.Monto == vale.cantidad) { if (request.Electronica && ditem.solocalzado == 1) { ditem.solocalzado = 0; cctx.SaveChanges(); processing = false; } //if (request.Electronica && ditem.solocalzado == 1) //{ // var q = cctx.Pagos.Where(i => i.distrib == ditem.distrib && i.status == "AP"); // var primero = q.OrderBy(i => i.fum) // .FirstOrDefault(); // var fchecar = primero.fecha.Value.AddMonths(6); // if (now > fchecar) // { // var dif = ditem.limitecredito - ditem.disponible; // if (dif > 0) // { // var por = dif / ditem.limitecredito; // if (por <= .1m) // { // ditem.solocalzado = 0; // cctx.SaveChanges(); // processing = false; // } // } // else // { // ditem.solocalzado = 0; // cctx.SaveChanges(); // processing = false; // } // } //} } //----------------------------- var response = new Common.Entities.SolicitudCreditoResponse { Id = item.Id, Processing = processing }; context.SetValue(this.Response, response); }
public ActionResult Credito(Guid id) { var ctx = new DataAccess.SirCoPOSDataContext(); var cctx = new DataAccess.SirCoCreditoDataContext(); var ctxc = new DataAccess.SirCoControlDataContext(); var item = ctx.SolicitudesCreditoVales.Where(i => i.Id == id).SingleOrDefault(); if (item == null) { return(HttpNotFound()); } var ditem = cctx.Distribuidores.Where(i => i.iddistrib == item.ValeCliente.iddistrib).Single(); //var usado = ctx.PlanPagos.Where(i => i.vale == vale).Sum(i => i.saldo); //var disponible = Math.Min(item.limitevale.Value, item.disponible.Value) - usado; var model = new Models.Distribuidor { Id = ditem.iddistrib, Cuenta = ditem.distrib, Nombre = ditem.nombre, ApMaterno = ditem.appaterno, ApPaterno = ditem.apmaterno, Status = ditem.idestatus.Value, Electronica = ditem.solocalzado == 0, Plazos = ditem.idperiodicidad.Value, Promocion = ditem.promocion == 1, Disponible = ditem.disponible, Date = ditem.fum, Tipo = ditem.tipodistrib, LimiteVale = ditem.limitevale, LimiteCredito = ditem.limitecredito }; var q = cctx.Pagos.Where(i => i.distrib == ditem.distrib && i.status == "AP"); var primero = q.OrderBy(i => i.fum) .FirstOrDefault(); if (primero != null) { model.PrimerPago = primero.fum; } var ultimos = q.OrderByDescending(i => i.fum) .Select(i => new Models.Pago { Fecha = i.fecha.Value, Descuento = i.descuento.Value, Subtotal = i.subtotal.Value, Importe = i.importe.Value }) .Take(10); ViewBag.ultimos = ultimos; var qd = cctx.PlanPagos.Where(i => i.distrib == ditem.distrib && i.saldo > 0 && i.status == "AP"); var saldo = qd.Any() ? qd.Sum(i => i.saldo) : 0; ViewBag.saldodis = saldo; var cliente = cctx.Clientes.Where(i => i.idcliente == item.ValeCliente.idcliente).Single(); var suc = ctxc.Sucursales.Where(i => i.idsucursal == cliente.idsucursal).Single(); var qp = cctx.PlanPagos.Where(i => i.cliente == cliente.cliente && i.succliente == suc.sucursal && i.saldo > 0 && i.status == "AP"); var saldodis = qp.Where(i => i.distrib == ditem.distrib).Any() ? qp.Where(i => i.distrib == ditem.distrib).Sum(i => i.saldo) : 0; ViewBag.saldocli = saldodis; var saldoot = qp.Where(i => i.distrib != ditem.distrib).Any() ? qp.Where(i => i.distrib != ditem.distrib).Sum(i => i.saldo) : 0; ViewBag.saldoOtros = saldoot; var credito = new Models.SolicitudCliente { Vale = item.vale, ApMaterno = cliente.apmaterno, ApPaterno = cliente.appaterno, Electronica = item.electronica, Id = cliente.idcliente, Cliente = cliente.cliente, Nombre = cliente.nombre, MontoVale = item.ValeCliente.cantidad, Monto = item.monto, Faltante = item.monto - item.ValeCliente.cantidad }; ViewBag.credito = credito; var uid = this.User.GetUID(); if (item.idusuarioAprobacion.HasValue) { ViewBag.mia = uid == item.idusuarioAprobacion; } ViewBag.completado = item.fechaAprobacion.HasValue; ViewBag.id = id; return(View(model)); }
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); }