Exemplo n.º 1
0
        public Referencia GetCartItemById(string Nit, int oferta, string sReferencia)
        {
            Referencia            referencias = new Referencia();
            List <CartItemEntity> cartItems   = null;
            var connectionString = ConfigurationManager.ConnectionStrings["dbComercial"].ConnectionString;

            using (var session = SessionManager.OpenSession(connectionString))
            {
                cartItems = (from c in session.Query <CartItemEntity>()
                             where c.Oferta.Equals(oferta) && c.Referencia.Equals(sReferencia) && c.Nit.Equals(Nit)
                             orderby c.Referencia, c.Plu
                             select c).ToList();
            }
            ReferenciaService rs         = new ReferenciaService();
            Referencia        referencia = rs.GetReferencia(oferta, sReferencia, true);

            foreach (CartItemEntity cartItem in cartItems)
            {
                Plu plu   = referencia.Plu.Find(x => x.PLU == cartItem.Plu);
                int index = referencia.Plu.IndexOf(plu);
                plu.Cantidad          = cartItem.Cantidad;
                plu.itemId            = cartItem.Id;
                referencia.Plu[index] = plu;
            }
            return(referencia);
        }
Exemplo n.º 2
0
        public List <Referencia> GetCartItemsByNit(string Nit)
        {
            List <Referencia>     referencias = new List <Referencia>();
            List <CartItemEntity> cartItems   = null;
            var connectionString = ConfigurationManager.ConnectionStrings["dbComercial"].ConnectionString;

            using (var session = SessionManager.OpenSession(connectionString))
            {
                cartItems = (from c in session.Query <CartItemEntity>()
                             where c.Nit.Equals(Nit)
                             orderby c.Referencia, c.Plu
                             select c).ToList();
            }
            if (cartItems != null && cartItems.Count > 0)
            {
                ReferenciaService rs         = new ReferenciaService();
                Referencia        referencia = rs.GetReferencia(cartItems[0].Oferta, cartItems[0].Referencia, true);
                List <string>     Colors     = new List <string>();
                foreach (CartItemEntity cartItem in cartItems)
                {
                    if (cartItem.Cantidad > 0)
                    {
                        if (referencia.IdReferencia != cartItem.Referencia)
                        {
                            referencia.Colores = Colors;
                            referencias.Add(referencia);
                            Colors     = new List <string>();
                            referencia = rs.GetReferencia(cartItem.Oferta, cartItem.Referencia, true);
                        }
                        Plu plu   = referencia.Plu.Find(x => x.PLU == cartItem.Plu);
                        int index = referencia.Plu.IndexOf(plu);
                        plu.Cantidad          = cartItem.Cantidad;
                        plu.itemId            = cartItem.Id;
                        referencia.Plu[index] = plu;
                        if (!Colors.Contains(plu.Color))
                        {
                            Colors.Add(plu.Color);
                        }
                    }
                }
                if (cartItems.Count > 0)
                {
                    referencia.Colores = Colors;
                    referencias.Add(referencia);
                }
            }
            return(referencias);
        }
Exemplo n.º 3
0
        public List <Oferta> GetOfertasByNit(string Nit, int activeOferta = 0)
        {
            List <Oferta> ofertas          = new List <Oferta>();
            var           connectionString = ConfigurationManager.ConnectionStrings["dbComercial"].ConnectionString;

            using (var session = SessionManager.OpenSession(connectionString))
            {
                var ofertasEntity = (from o in session.Query <OfertaEntity>()
                                     join co in session.Query <ClienteOfertaEntity>() on
                                     o.Id equals co.IdOferta
                                     where co.IdCliente.Trim().Equals(Nit.Trim()) &&
                                     DateTime.Now >= o.FechaPublicacion && DateTime.Now <= o.FechaVencimiento
                                     select o).ToList();
                foreach (OfertaEntity ofertaEntity in ofertasEntity)
                {
                    Oferta oferta = new Oferta();
                    oferta.Id               = ofertaEntity.Id;
                    oferta.Nombre           = ofertaEntity.Nombre;
                    oferta.Imagen           = ofertaEntity.Imagen;
                    oferta.NomUser          = ofertaEntity.NomUser;
                    oferta.Tipo             = ofertaEntity.Tipo;
                    oferta.Visible          = ofertaEntity.Visible;
                    oferta.Bodega           = ofertaEntity.Bodega;
                    oferta.Descripcion      = ofertaEntity.Descripcion;
                    oferta.FechaPublicacion = ofertaEntity.FechaPublicacion;
                    oferta.FechaVencimiento = ofertaEntity.FechaVencimiento;

                    oferta.FecUser = ofertaEntity.FecUser;
                    if (oferta.Id == activeOferta)
                    {
                        ReferenciaService rs          = new ReferenciaService();
                        List <Referencia> referencias = rs.GetAllReferenciasByOferta(Nit, ofertaEntity.Id);
                        int TotalReferencia           = referencias.Count();
                        foreach (Referencia referencia in referencias)
                        {
                            Mundo  mundo       = new Mundo();
                            string NombreMundo = Utility.GetMundo(referencia.Plu[0].Genero.ToString(), referencia.Plu[0].Edad.ToString());

                            /*
                             * foreach (Plu plu in referencia.Plu)
                             * {
                             *  NombreMundo = Utility.GetMundo(plu.Genero.ToString(), plu.Edad.ToString());
                             * }
                             * if (oferta.Mundos.Any(item => item.Nombre.Equals(NombreMundo)))
                             * {
                             *  var mundoUpdate = oferta.Mundos.FirstOrDefault(x => x.Nombre == NombreMundo);
                             *  if (mundoUpdate != null)
                             *  {
                             *      mundoUpdate.Cantidad++;
                             *  }
                             * }
                             * else
                             * {
                             *  mundo.Cantidad = 1;
                             *  mundo.Nombre = NombreMundo;
                             *  oferta.Mundos.Add(mundo);
                             * }
                             */
                            if (!oferta.Mundos.Any(item => item.Nombre.Equals(NombreMundo)))
                            {
                                mundo.Nombre = NombreMundo;
                                oferta.Mundos.Add(mundo);
                            }
                        }
                    }
                    ofertas.Add(oferta);
                }
            }
            return(ofertas);
        }