public decimal?VentasEfectivo(string sucursal, byte num) { var ctxpos = new DataAccess.SirCoPOSDataContext(); var ctxpv = new DataAccess.SirCoPVDataContext(); var fondo = ctxpos.Fondos.Where(i => i.CajaSucursal == sucursal && i.Tipo == Common.Constants.TipoFondo.Cajon && i.CajaNumero == num && !i.FechaCierre.HasValue).SingleOrDefault(); if (fondo == null) { return(null); } var fecha = fondo.FechaApertura; var last = fondo.Arqueos.OrderByDescending(i => i.Fecha).FirstOrDefault(); if (last != null) { fecha = last.Fecha; } var q = from h in ctxpv.Pagos where h.sucursal == fondo.CajaSucursal && h.idcajero == fondo.ResponsableId && h.estatus == "AP" && h.fum > fecha from d in h.Detalle where d.idformapago == (int)Common.Constants.FormaPago.EF select d.importe; var sum = q.Sum(); return(sum); }
// GET: Admin/FondoArqueos public ActionResult Index(int id) { var ctx = new DataAccess.SirCoPOSDataContext(); var q = ctx.FondoArqueos.Where(i => i.FondoId == id).OrderByDescending(i => i.Fecha); return(View(q)); }
public ActionResult FormasPago(int id) { var ctx = new DataAccess.SirCoPOSDataContext(); var q = ctx.FondoArqueoFormaPagos.Where(i => i.FondoArqueoId == id); return(View(q)); }
public void Transfer(byte from, byte to, decimal amount, int userId) { var now = Helpers.Common.GetNow(); var ctx = new DataAccess.SirCoPOSDataContext(); var gid = Guid.NewGuid(); var cfrom = ctx.Fondos.Where(i => i.ResponsableId == userId && i.Tipo == (Common.Constants.TipoFondo)from).Single(); var cto = ctx.Fondos.Where(i => i.ResponsableId == userId && i.Tipo == (Common.Constants.TipoFondo)to).Single(); cfrom.Movimientos.Add(new DataAccess.SirCoPOS.FondoMovimiento { Entrada = false, Fecha = now, Importe = amount, Referencia = gid, UsuarioId = userId }); cfrom.Disponible -= amount; cto.Movimientos.Add(new DataAccess.SirCoPOS.FondoMovimiento { Entrada = true, Fecha = now, Importe = amount, Referencia = gid, UsuarioId = userId }); cto.Disponible += amount; ctx.SaveChanges(); }
protected override void Execute(CodeActivityContext context) { var ctx = new DataAccess.SirCoPOSDataContext(); var ctxc = new DataAccess.SirCoCreditoDataContext(); var reply = context.GetValue(this.Reply); var item = ctx.SolicitudesCreditoVales.Where(i => i.Id == reply.Id).Single(); item.fechaAprobacion = DateTime.Now; item.Approved = reply.Approved; if (reply.Approved) { item.electronicaAprobacion = reply.Electronica; item.montoAprobacion = reply.MontoVale - item.ValeCliente.cantidad; item.ValeCliente.cantidad = reply.MontoVale.Value; var dis = ctxc.Distribuidores.Where(i => i.iddistrib == item.ValeCliente.iddistrib).Single(); if (reply.LimiteCredito.HasValue && reply.LimiteCredito.Value != dis.limitecredito) { item.creditoAprobacion = reply.LimiteCredito - dis.limitecredito; dis.limitecredito = reply.LimiteCredito; if (reply.Electronica.HasValue) dis.solocalzado = (short)(reply.Electronica.Value ? 0 : 1); dis.fum = DateTime.Now; ctxc.SaveChanges(); } } ctx.SaveChanges(); }
// GET: Admin/Ventas public ActionResult Index(int?fondo) { var ctx = new DataAccess.SirCoPVDataContext(); if (fondo.HasValue) { var ctxpos = new DataAccess.SirCoPOSDataContext(); var f = ctxpos.Fondos.Where(i => i.Id == fondo).SingleOrDefault(); if (f == null) { return(HttpNotFound()); } var q = ctx.Ventas.Where(i => i.fum > f.FechaApertura && i.idcajero == f.ResponsableId && i.sucursal == f.CajaSucursal); if (f.FechaCierre.HasValue) { q = q.Where(i => i.fum < f.FechaCierre); } var res = q.OrderByDescending(i => i.fum); return(View(q)); } else { var date = DateTime.Today.AddDays(-15); var q = ctx.Ventas.Where(i => i.fecha > date).OrderByDescending(i => i.fum).Take(50); return(View(q)); } }
// GET: Admin/Fondos public ActionResult Index() { var admin = new BusinessLogic.Admin(); var ctx = new DataAccess.SirCoPOSDataContext(); var ctxpv = new DataAccess.SirCoPVDataContext(); var items = ctx.Cajas .OrderByDescending(i => i.Disponible) .ThenBy(i => i.Numero) .Select(i => new Models.Caja { Item = i }).ToArray(); foreach (var item in items) { var fondo = ctx.Fondos.Where(i => i.CajaSucursal == item.Item.Sucursal && i.CajaNumero == item.Item.Numero && !i.FechaCierre.HasValue).SingleOrDefault(); item.Fondo = fondo?.Id; item.Responsable = fondo?.ResponsableId; } //foreach (var item in items.Where(i => i.Item.Tipo == Common.Constants.TipoFondo.Cajon)) //{ // item.Ventas = admin.VentasEfectivo(item.Item.Sucursal, item.Item.Numero); //} return(View(items)); }
public Empleado FindAuditorApertura(int id, int idcajero) { var ctx = new DataAccess.SirCoNominaDataContext(); var ctxpos = new DataAccess.SirCoPOSDataContext(); var cajero = ctx.Empleados.Where(i => i.idempleado == idcajero && i.estatus == "A").Single(); var auditor = ctx.Empleados.Where(i => i.idempleado == id && i.estatus == "A").SingleOrDefault(); if (auditor != null) { var asuc = auditor.clave.Substring(0, 2); var suc = cajero.clave.Substring(0, 2); if (!(cajero.idpuesto == (int)Common.Constants.Puesto.CJA || Common.Constants.Puestos.Gerentes.Contains(cajero.idpuesto))) { return(null); } decimal?disponible = null; if (auditor.idpuesto == (int)Common.Constants.Puesto.CJA || Common.Constants.Puestos.Gerentes.Contains(auditor.idpuesto)) { var fondo = ctxpos.Fondos.Where(i => i.CajaSucursal == suc && i.ResponsableId == auditor.idempleado && !i.FechaCierre.HasValue) .SingleOrDefault(); if (fondo == null) { return(null); } else { disponible = fondo.Disponible; } } else if (!Common.Constants.Puestos.Admin.Contains(auditor.idpuesto)) { return(null); } return(new Empleado { Id = auditor.idempleado, ApellidoMaterno = auditor.apmaterno, ApellidoPaterno = auditor.appaterno, Nombre = auditor.nombre, Usuario = auditor.usuariosistema, Clave = auditor.clave, Puesto = auditor.idpuesto, Disponible = disponible }); } return(null); }
public ActionResult Detalle(string sucursal, byte?numero) { var ctx = new DataAccess.SirCoPOSDataContext(); var item = ctx.Cajas.Where(i => i.Sucursal == sucursal && i.Numero == numero).SingleOrDefault(); if (item == null) { return(HttpNotFound()); } return(View(item)); }
public Response <SaleResponse> Sale(SaleRequest item) { var uid = this.GetUserIdOrDefault() ?? 0; var res = this.Reply(() => { var multiple = false; if (item.Tipo == SaleType.Sale) { var response = _process.Sale(item, uid); if (response.Multiple) { item.Tipo = SaleType.Note; multiple = true; } else { return(response); } } if (item.Tipo == SaleType.Note) { var xml = BusinessLogic.Helpers.Serializer.Serialize(item); var ctx = new DataAccess.SirCoPOSDataContext(); var eitem = new DataAccess.SirCoPOS.Nota { Date = DateTime.Now, CajeroId = uid, Sucursal = item.Sucursal, Data = xml, Multiple = multiple }; ctx.Notas.Add(eitem); ctx.SaveChanges(); return(new SaleResponse { Folio = $"Nota-{eitem.Id}" }); } return(null); }); //if (res.Success) //{ // //var txt = System.Web.HttpUtility.UrlEncode($"Gracias por tu compra, folio: {res.Item.Folio}"); // //var url = $"http://dev.itnnovation.net:81/FCM/api/sendMessage?number={8112123587}&txt={txt}"; // var url = $"http://dev.itnnovation.net:81/FCM/api/sendMessage"; // var client = new WebClient(); // client.QueryString.Add("number", "8112123587"); // client.QueryString.Add("txt", $"Gracias por tu compra, folio: {res.Item.Folio}"); // var reqparm = new System.Collections.Specialized.NameValueCollection(); // //var response = client.UploadValues(url, "POST", reqparm); //} return(res); }
public Common.Entities.Cliente FindClienteByCode(Guid code) { var now = BusinessLogic.Helpers.Common.GetNow(); var ctx = new DataAccess.SirCoPOSDataContext(); var item = ctx.ClienteAccesos.Where(i => i.Codigo == code && i.FechaExpiracion > now).SingleOrDefault(); if (item != null) { return(this.FindCliente(item.ClienteId, null)); } return(null); }
public ActionResult FondoFormasPago(int id) { var ctx = new DataAccess.SirCoPOSDataContext(); var fondo = ctx.Fondos.Where(i => i.Id == id).SingleOrDefault(); if (fondo == null) { return(HttpNotFound()); } var model = fondo.FormasPago; return(View(model)); }
public void Cancel(int idcajero, string sucursal, decimal importe, DateTime now, Guid gid, Common.Constants.FormaPago formaPago) { var ctx = new DataAccess.SirCoPOSDataContext(); var fondo = ctx.Fondos.Where(i => i.ResponsableId == idcajero && !i.FechaCierre.HasValue).Single(); if (formaPago == Common.Constants.FormaPago.EF) { fondo.Movimientos.Add( new DataAccess.SirCoPOS.FondoMovimiento { Importe = importe, UsuarioId = null, Entrada = false, Fecha = now, Referencia = gid, Tipo = "VentaCancela" }); fondo.Disponible -= importe; fondo.Caja.Disponible -= importe; } else { var fp = fondo.Caja.FormasPago.Where(i => i.FormaPago == (int)formaPago).SingleOrDefault(); if (fp == null) { fp = new DataAccess.SirCoPOS.CajaFormaPago { FormaPago = (int)formaPago, Unidades = 0, Monto = 0 }; fondo.Caja.FormasPago.Add(fp); } fp.Unidades--; fp.Monto -= importe; fondo.FormasPago.Add(new DataAccess.SirCoPOS.FondoFormaPago { Entrada = false, Fecha = now, FormaPago = (int)formaPago, Monto = importe, Cantidad = 1, UsuarioId = null, Referencia = gid }); } ctx.SaveChanges(); }
protected override void Execute(CodeActivityContext context) { var ctx = new DataAccess.SirCoPOSDataContext(); var gid = context.GetValue(this.GID); var item = ctx.SolicitudesCreditoVales.Where(i => i.Id == gid).Single(); if (item.fechaAprobacion.HasValue) { throw new NotSupportedException(); } item.fechaAprobacion = DateTime.Now; item.Approved = false; ctx.SaveChanges(); }
// GET: Admin/Fondos public ActionResult Index(string sucursal, byte?numero) { var ctx = new DataAccess.SirCoPOSDataContext(); if (numero.HasValue) { var q = ctx.Fondos.Where(i => i.CajaSucursal == sucursal && i.CajaNumero == numero) .OrderByDescending(i => i.FechaApertura); return(View(q)); } else { var q = ctx.Fondos.Where(i => !i.FechaCierre.HasValue) .OrderByDescending(i => i.FechaApertura); return(View(q)); } }
public void ProcesarNotas() { var ctx = new DataAccess.SirCoPOSDataContext(); var q = ctx.Notas.Where(i => i.Venta == null) .OrderBy(i => i.Date); foreach (var item in q) { var request = BusinessLogic.Helpers.Serializer.Deserialize <Common.Entities.SaleRequest>(item.Data); foreach (var pitem in request.Productos) { _process.RequestProducto(pitem.Serie, item.CajeroId); } var res = _process.Sale(request, item.CajeroId); item.Venta = res.Folio; ctx.SaveChanges(); } }
protected override void Execute(CodeActivityContext context) { var gid = context.GetValue(this.GID); var ctx = new DataAccess.SirCoPOSDataContext(); var item = ctx.SolicitudesCreditoVales.Where(i => i.Id == gid).Single(); var accessToken = "xoxp-191473233024-192189952148-257230418000-7fcd073114b4ec5c16bce9ff43a8614b"; accessToken = "xoxb-191473233024-810241754325-eTaqvz33dXjaOnEqnywvAy8a"; var url = "https://slack.com/api/chat.postMessage"; var cli = new WebClient(); cli.Headers[HttpRequestHeader.ContentType] = "application/json; charset=utf-8"; cli.Headers[HttpRequestHeader.Authorization] = $"Bearer {accessToken}"; dynamic data = new JObject(); data.channel = "U5N5KU04C"; data.text = $"vale: {item.vale}\nSolicita: {item.monto} <http://localhost:39075/Solicitudes/Credito/{gid}|detalle>"; data.as_user = true; var response = cli.UploadString(url, data.ToString()); }
//====================================================================================================================== 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 NoteService() { _ctx = new DataAccess.SirCoPOSDataContext(); }
public Empleado FindAuditorEntrega(int id, int idcajero) { var ctx = new DataAccess.SirCoNominaDataContext(); var ctxpos = new DataAccess.SirCoPOSDataContext(); var cajero = ctx.Empleados.Where(i => i.idempleado == idcajero && i.estatus == "A").Single(); var auditor = ctx.Empleados.Where(i => i.idempleado == id && i.estatus == "A").SingleOrDefault(); if (auditor != null) { var asuc = auditor.clave.Substring(0, 2); var suc = cajero.clave.Substring(0, 2); if (Common.Constants.Puestos.Gerentes.Contains(cajero.idpuesto) || cajero.idpuesto == (int)Common.Constants.Puesto.CJA) { if (Common.Constants.Puestos.Gerentes.Contains(auditor.idpuesto)) { var fondo = ctxpos.Fondos.Where(i => i.ResponsableId == auditor.idempleado && !i.FechaCierre.HasValue).SingleOrDefault(); if (fondo == null) { return(null); } } else if (auditor.idpuesto == (int)Common.Constants.Puesto.MEN) { var fondo = ctxpos.Fondos.Where(i => i.ResponsableId == auditor.idempleado && !i.FechaCierre.HasValue).SingleOrDefault(); if (fondo == null) { return(null); } } else if (!Common.Constants.Puestos.Admin.Contains(auditor.idpuesto)) { return(null); } } //else if (cajero.idpuesto == (int)Common.Constants.Puesto.CJA) //{ //} else { return(null); } return(new Empleado { Id = auditor.idempleado, ApellidoMaterno = auditor.apmaterno, ApellidoPaterno = auditor.appaterno, Nombre = auditor.nombre, Usuario = auditor.usuariosistema, Clave = auditor.clave, Puesto = auditor.idpuesto }); } return(null); }
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)); }