public int SaveNote(NoteRequest request) { var nitem = new DataAccess.SirCoPOS.Nota { Date = DateTime.Now, Sucursal = request.Sucursal, CajeroId = 0, VendedorId = request.VendedorId }; _ctx.Notas.Add(nitem); nitem.Items = new HashSet <DataAccess.SirCoPOS.NotaDetalle>(); nitem.Pagos = new HashSet <DataAccess.SirCoPOS.NotaPago>(); foreach (var item in request.Items) { nitem.Items.Add(new DataAccess.SirCoPOS.NotaDetalle { Serie = item.Serie, Amount = item.Amount, Coments = item.Comments }); } _ctx.SaveChanges(); return(nitem.Id); }
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(); }
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 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(); }
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 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); }