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); }
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); }
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); }