public static bool ChequearPedido() { List <SucursalEntidad> sucursalesDisponibles; SucursalCore _sucursalCore = new SucursalCore(); List <PedidoLista> ProdCantEnPedido; var Current = HttpContext.Current; List <PedidoDetalleEntidad> unosPedidosDetalles = new List <PedidoDetalleEntidad>(); ProdCantEnPedido = (List <PedidoLista>)Current.Session["Pedido"]; if (ProdCantEnPedido != null && ProdCantEnPedido.Count > 0) { PedidoDetalleEntidad unPedDet; //Para armar lista PedidosDetalles y enviarlo como param a la BLL y obtener sucursales con stock suficiente foreach (PedidoLista UnProdCant in ProdCantEnPedido) { unPedDet = new PedidoDetalleEntidad(); unPedDet.miProducto = new ProductoEntidad(); unPedDet.miProducto.IdProducto = UnProdCant.Producto.IdProducto; unPedDet.Cantidad = UnProdCant.Cantidad; unosPedidosDetalles.Add(unPedDet); } } sucursalesDisponibles = _sucursalCore.TraerSucursalesConStock(unosPedidosDetalles); if (sucursalesDisponibles.Count > 0) { return(true); } //Current.Session.Add("SucursalesDisponibles", sucursalesDisponibles); //Guardo en Sesión las sucursales disponibles para tomarlas en WebMethod "FormaEnvio" //Por si lo quito de PedidosEnvio, puede ir aca solamente la línea de arriba else { return(false); } }
////Para mantener la sesión activa //[WebMethod(EnableSession = true)] //public static void MantenerSesion() //{ //} protected void Page_Load(object sender, EventArgs e) { //En caso de no tener un Pedido vigente redirige a home var Current = HttpContext.Current; if (Current.Session["Productos"] == null) { Response.Redirect("/Areas/Public/Forms/Home.aspx"); } idioma = new LenguajeEntidad(); logueado = (UsuarioEntidad)Current.Session["Usuario"]; //Para armar lista PedidosDetalles y enviarlo como param a la BLL y obtener sucursales con stock suficiente ProdCantEnPedido = (List <PedidoLista>)Current.Session["Pedido"]; if (ProdCantEnPedido != null && ProdCantEnPedido.Count > 0) { unosPedidosDetalles = new List <PedidoDetalleEntidad>(); PedidoDetalleEntidad unPedDet; //Para armar lista PedidosDetalles y enviarlo como param a la BLL y obtener sucursales con stock suficiente foreach (PedidoLista UnProdCant in ProdCantEnPedido) { unPedDet = new PedidoDetalleEntidad(); unPedDet.miProducto = new ProductoEntidad(); unPedDet.miProducto.IdProducto = UnProdCant.Producto.IdProducto; unPedDet.Cantidad = UnProdCant.Cantidad; unosPedidosDetalles.Add(unPedDet); } } //Fin: //Para armar lista PedidosDetalles y enviarlo como param a la BLL y obtener sucursales con stock suficiente if (!IsPostBack) { idioma = (LenguajeEntidad)Session["Idioma"]; if (idioma == null) { idioma = new LenguajeEntidad(); idioma.DescripcionLenguaje = "es"; Session["Idioma"] = idioma; } cotizacion = new MonedaEmpresaEntidad(); cotizacion = (MonedaEmpresaEntidad)Session["Cotizacion"]; Session.Add("cotizacionAnterior", ""); } else { cotizacion.IdMoneda = Convert.ToInt16(Master.obtenerValorDropDown()); Session["Cotizacion"] = cotizacion; idioma.DescripcionLenguaje = Master.obtenerIdiomaCombo(); Session["Idioma"] = idioma; } if (cotizacion != null) { moneda = _coreMoneda.selectMoneda(cotizacion.IdMoneda); } DropDownList lblIdioma = FindControlFromMaster <DropDownList>("ddlLanguages"); if (lblIdioma != null) { lblIdioma.SelectedValue = idioma.DescripcionLenguaje; } DropDownList lblStatus = FindControlFromMaster <DropDownList>("MonedaDRW"); if (lblStatus != null) { if (cotizacion != null) { lblStatus.SelectedValue = cotizacion.IdMoneda.ToString(); } } formaEnvioId = (int?)Current.Session["FormaEnvio"]; Current.Session["FormaEnvio"] = 1;//REVISAR if (logueado == null) { Response.Redirect("/Areas/Public/Forms/Pedidos.aspx"); } //Antes obtenía todas las sucursales //sucursalesDisponibles = _sucursalCore.FindAll(); //Ahora se obtienen las que poseen stock unicamente sucursalesDisponibles = _sucursalCore.TraerSucursalesConStock(unosPedidosDetalles); if (sucursalesDisponibles.Count > 0) { Session.Add("SucursalesDisponibles", sucursalesDisponibles); //Guardo en Sesión las sucursales disponibles para tomarlas en WebMethod "FormaEnvio" HttpContext.Current.Session["Seleccionada"] = sucursalesDisponibles[0].IdSucursal; //Sucursal seleccionada, en este momento la primera que tiene stock seleccionado = sucursalesDisponibles[0].IdSucursal; //Sucursal seleccionada, en este momento la primera que tiene stock, por si no hago click y queda //seleccionado Envío por correo } else { System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append(@"<script type='text/javascript'>"); //sb.Append("$('#currentdetail').modal('show');"); sb.Append("alert('No se puede realizar el Pedido con la cantidad de Productos solicitada, por favor comuníquese con nosotros');"); sb.Append(@"</script>"); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ModalScript", sb.ToString(), false); } }