Esempio n. 1
0
        public ValeResponse FindDistribuidor(string id)
        {
            var ctx = new DataAccess.SirCoCreditoDataContext();
            var ct  = new SirCoPOS.DataAccess.SirCoCredito.Distribuidor();

            //var vale = "abc";
            //var valera = ctx.Valeras.Where(i =>
            //    String.Compare(vale, i.valeini) >= 0 && String.Compare(vale, i.valefin) <= 0).SingleOrDefault();
            //if (valera == null)
            //    return null;

            //var valCancelado = ctx.ValesCancelados.Where(i =>
            //    String.Compare(vale, i.valeini) >= 0 && String.Compare(vale, i.valefin) <= 0).SingleOrDefault();
            //if (valCancelado != null)
            //    return null;

            var item = ctx.Distribuidores.Where(i => i.distrib == id
                                                //&& i.tipodistrib == Common.Constants.TipoDistribuidor.NORMAL
                                                && i.clasificacion == Common.Constants.TipoCredito.DISTRIBUIDOR
                                                ).SingleOrDefault();

            if (item == null)
            {
                return(null);
            }

            //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 Common.Entities.Distribuidor
            {
                Id           = item.iddistrib,
                Cuenta       = item.distrib,
                Nombre       = item.nombre,
                ApMaterno    = item.appaterno,
                ApPaterno    = item.apmaterno,
                Status       = item.idestatus.Value,
                Electronica  = item.solocalzado == 0,
                Electronica2 = item.negext == 0,
                Plazos       = item.idperiodicidad.Value,
                Promocion    = item.promocion == 1,
                Number       = item.distrib,
                Disponible   = item.disponible,
                Date         = item.fum
            };
            //var dist = String.Format("{0:000000}", id);
            var q = ctx.DistribuidorFirmas.Where(i => i.distrib == item.distrib);

            model.Firmas = q.Select(i => i.numfirma).ToArray();
            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; }
            });
        }
Esempio n. 2
0
        public Common.Entities.ValeResponse FindDistribuidorExterno(int idnegocio, string nocuenta, string vale)
        {
            var ctx   = new DataAccess.SirCoCreditoDataContext();
            var ditem = ctx.DistribuidorComerciales.Where(i => i.idnegexterno == idnegocio && i.nocuenta == nocuenta).SingleOrDefault();

            if (ditem == null)
            {
                return(null);
            }
            var item = ctx.Distribuidores.Where(i => i.iddistrib == ditem.iddistrib
                                                //&& i.tipodistrib == Common.Constants.TipoDistribuidor.NORMAL
                                                && i.clasificacion == Common.Constants.TipoCredito.DISTRIBUIDOR
                                                ).Single();

            var dis = new Common.Entities.Distribuidor
            {
                Id     = item.iddistrib,
                Cuenta = item.distrib,
                //Nombre = item.nombre,
                //ApPaterno = item.appaterno,
                //ApMaterno = item.apmaterno,
                Disponible   = item.disponible.Value,
                Nombre       = item.nombrecompleto,
                Status       = item.idestatus.Value,
                Electronica  = item.solocalzado == 0,
                Electronica2 = item.negext == 0,
                ContraVale   = item.contravale == 1,
                Promocion    = item.promocion == 1
            };

            var model = new ValeResponse
            {
                Vale         = vale,
                Disponible   = item.disponible.Value,
                Cancelado    = false,
                Distribuidor = dis
            };

            return(model);
        }
Esempio n. 3
0
        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; }
            });
        }