private static bool StockEnTiendas(string referencia, string talla, string idTienda, string idLineaCarrito, ref Dictionary <string, int> stockSolicitado) { bool hayStock = false; string keyArticuloTienda = string.Empty; List <StockTienda> stockTiendasLineaCarrito = new List <StockTienda>(); stockTiendasLineaCarrito = StockTiendaDAL.GetStockTiendasLineaCarrito(idLineaCarrito); if (!string.IsNullOrEmpty(idTienda)) { keyArticuloTienda = string.Format(KEY_ARTICULO_FORMAT, referencia, talla, idTienda); StockTienda stockTiendaLineaCarrito = stockTiendasLineaCarrito.FirstOrDefault(t => t.tienda == idTienda); hayStock = ValidarStockEnTienda(keyArticuloTienda, stockTiendaLineaCarrito, ref stockSolicitado); } else { foreach (StockTienda stockTiendaLineaCarrito in stockTiendasLineaCarrito) { keyArticuloTienda = string.Format(KEY_ARTICULO_FORMAT, referencia, talla, stockTiendaLineaCarrito.tienda); hayStock = ValidarStockEnTienda(keyArticuloTienda, stockTiendaLineaCarrito, ref stockSolicitado); if (hayStock) { break; } } } return(hayStock); }
public bool cancelarReservaAC(string idCarrito, string idTienda, string idUsuario, string userThinkretail, string passThinkretail, string idTerminal, string Tienda) { Dictionary <string, int> stockSolicitado = new Dictionary <string, int>(); string referencia; string talla; string idLineaCarrito; string idArticulo; string idPedido; string idTicket; //Obtenemos las lineas del carrito DataSet dsLineasCarrito = StockTiendaDAL.GetLineasCarrito(idCarrito); List <string> articulosSinStock = new List <string>(); ThinkRetailServiceWeb.wsThinkRetail wsThinkRetail = new ThinkRetailServiceWeb.wsThinkRetail(); wsThinkRetail.CookieContainer = new System.Net.CookieContainer(); if (wsThinkRetail.Login(userThinkretail, passThinkretail)) { foreach (DataRow row in dsLineasCarrito.Tables[0].Rows) { string estadoReserva = row["EstadoReservaThinkRetail"].ToString(); if (estadoReserva != null && estadoReserva.Equals("OK")) { referencia = StockTiendaDAL.GetReferencia(row["IdArticulo"].ToString()); talla = StockTiendaDAL.GetTallaLineaCarrito(row["IdPedido"].ToString()); idLineaCarrito = row["id_Carrito_Detalle"].ToString(); idPedido = row["IdPedido"].ToString(); idTicket = StockTiendaDAL.ObtieneUltimoTicketTR(Tienda, idTerminal); if (idTicket != "") { idTicket = idTicket + "/" + idTerminal + "/" + Tienda + "-" + idPedido; ThinkRetailServiceWeb.SalidaMsg respuesta = wsThinkRetail.CancelaReservaTR(idTicket, KEY_TIENDA_CENTRAL); try { string Descrip = ""; log.Error("Descripcion:" + respuesta.Descripcion); if (respuesta.Mensajes != null) { foreach (ThinkRetailServiceWeb.Mensaje msjs in respuesta.Mensajes) { Descrip = Descrip + msjs.Descripcion; } log.Error("Descripcion_Cancelacion_Carro: " + Descrip); } else { log.Error("respuesta.Mensajes devuelto es null "); } } catch (Exception ex) { log.Error(ex.Message.ToString()); } } else { log.Error("No se ha obtenido ticket"); } } } } return(true); }
public List <string> ComprobarStock(string idCarrito, string idTienda, string idUsuario, string userHermess, string passHermess, string siteHermes, string idTerminal, string Tienda) { Dictionary <string, int> stockSolicitado = new Dictionary <string, int>(); string referencia; string talla; string idLineaCarrito; string idArticulo; string idPedido; string precioArticulo; string idTicket; //Obtenemos las lineas del carrito DataSet dsLineasCarrito = StockTiendaDAL.GetLineasCarrito(idCarrito); List <string> articulosSinStock = new List <string>(); foreach (DataRow row in dsLineasCarrito.Tables[0].Rows) { int hayStock = 0; idArticulo = row["IdArticulo"].ToString(); referencia = StockTiendaDAL.GetReferencia(row["IdArticulo"].ToString()); talla = StockTiendaDAL.GetTallaLineaCarrito(row["IdPedido"].ToString()); idLineaCarrito = row["id_Carrito_Detalle"].ToString(); idPedido = row["IdPedido"].ToString(); precioArticulo = row["PVPACT"].ToString(); idTicket = StockTiendaDAL.ObtieneUltimoTicketTR(Tienda, idTerminal); if (idTicket != "") { idTicket = idTicket + "/" + idTerminal + "/" + Tienda + "-" + idPedido; } else { log.Error("No se ha obtenido ticket"); } HermesModaliaWebServiceReference.HermesImplClient wsStock = new HermesModaliaWebServiceReference.HermesImplClient(); //if (!string.IsNullOrEmpty(idTienda)) //{ string stock = wsStock.getStock(userHermess, passHermess, siteHermes, referencia, talla); hayStock = Convert.ToInt32(stock); //} //if (!hayStock) hayStock = StockThinkRetail(referencia, talla, idPedido, KEY_TIENDA_CENTRAL,KEY_TIENDA_EXTERNA, idUsuario, userThinkretail, passThinkretail,idTicket); //if (!hayStock) hayStock = StockThinkRetail(referencia, talla, idPedido, KEY_TIENDA_ECOMMERCE,KEY_TIENDA_EXTERNA, idUsuario, userThinkretail, passThinkretail,idTicket); //if (!hayStock) hayStock = StockEnTiendas(referencia, talla, null, idLineaCarrito, ref stockSolicitado); if (hayStock <= 0) { articulosSinStock.Add(idLineaCarrito + "#" + StockTiendaDAL.GetDescripcionArticulo(idArticulo) + "#" + precioArticulo); } } return(articulosSinStock); }