Ejemplo n.º 1
0
    public void SubirReceta(String nomb, String categ, String Ruta_Form)
    {
        //Receta RecetaNueva = new Receta(nomb, categ, this.Alias, Ruta_Form);
        Almacenaje almacenaje = new Almacenaje();

        almacenaje.AlmacenarReceta(nomb, categ, this.ID, Ruta_Form, 3);
    }
Ejemplo n.º 2
0
    protected void ButtonValorar_Click(object sender, EventArgs e)
    {
        Almacenaje almacenaje = new Almacenaje();
        Usuario    us         = almacenaje.devuelveUsuario(Request.Cookies["userName"].Value);

        LabelErrorPuntuacion1.Visible = false;
        LabelAdecuacion.Visible       = false;
        LabelErrorPuntuacion.Visible  = false;
        LabelMensaje.Visible          = false;

        if (TextBoxPuntuacion.Text == "")
        {
            LabelErrorPuntuacion1.Visible = true;
            return;
        }

        else
        {
            foreach (char c in TextBoxPuntuacion.Text)
            {
                if (c < 48 || c > 57)
                {
                    LabelAdecuacion.Visible = true;
                    return;
                }
            }
            if (Convert.ToInt32(TextBoxPuntuacion.Text) < 0 || Convert.ToInt32(TextBoxPuntuacion.Text) > 10)
            {
                LabelErrorPuntuacion.Visible = true;
                return;
            }
            almacenaje.InsertarComentario(TextBoxComentario.Text, us.ID, Convert.ToInt32(Request.QueryString["Id_Receta"]), Convert.ToInt32(TextBoxPuntuacion.Text));
            LabelMensaje.Visible = true;
        }
    }
Ejemplo n.º 3
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        Almacenaje almacenaje = new Almacenaje();

        /*Response.Cookies["userName"].Value = TextBox1.Text;
         * Response.Cookies["userName"].Expires = DateTime.Now.AddHours(2);
         *
         */
        if (almacenaje.devuelveUsuario(TextBox1.Text) == null)
        {
            Label3.Visible = true;
            Label3.Text    = "No existe el usuario";
        }
        else
        {
            if (almacenaje.devuelveUsuario(TextBox1.Text).Contrasena == TextBox2.Text)
            {
                Response.Cookies["userName"].Value   = TextBox1.Text;
                Response.Cookies["userName"].Expires = DateTime.Now.AddHours(2d);
                Response.Redirect("./");
            }
            else
            {
                Label3.Visible = true;
                Label3.Text    = "La contraseña no es válida";
            }
        }

        //Si hay cookie
        //TextBox1 y TextBox2 son invisibles
        //Label1 = Username
    }
Ejemplo n.º 4
0
    public ClasePruebas()
    {
        Almacenaje almacenaje = new Almacenaje();

        AñadeCadenaPrueba("AAA");
        AñadeCadenaPrueba(almacenaje.devuelveUsuario("SrDnDirector").Nombre);
        AñadeCadenaPrueba(almacenaje.devuelveUsuario("SrDnDirector").GetType().ToString());
    }
Ejemplo n.º 5
0
    //Inserta el menú en la base de datos
    public static void insertarMenu(int IDUsuario)
    {
        //Usuario u = new Usuario();
        Almacenaje a = new Almacenaje();

        //u = a.devuelveUsuario(System.Web.HttpContext.Current.User.Identity.Name);
        a.AlmacenarMenu(IDUsuario, DateTime.Now, platos[0], platos[1], platos[2], platos[3], platos[4], platos[5]);
    }
Ejemplo n.º 6
0
    //Solo se puede usar si el usuario es usuario plano, no garantizo que pete si lo usais con otro tipo de usuario
    public static bool cambiarPrivilegiosARestaurante(String alias, String direccion, float precio)
    {
        Almacenaje claseAlmacenaje = new Almacenaje();
        Usuario    usuario         = claseAlmacenaje.devuelveUsuario(alias);

        cambiarPrivilegiosAUsuario(alias);
        claseAlmacenaje.insertaRestaurante(usuario.ID, direccion, precio);
        return(true);
    }
Ejemplo n.º 7
0
    //Solo se puede usar si el usuario es usuario plano, no garantizo que pete si lo usais con otro tipo de usuario
    public static bool cambiarPrivilegiosAEspecialista(String alias, String numeroColegiado)
    {
        Almacenaje claseAlmacenaje = new Almacenaje();
        Usuario    usuario         = claseAlmacenaje.devuelveUsuario(alias);

        cambiarPrivilegiosAUsuario(alias);
        claseAlmacenaje.insertaEspecialista(usuario.ID, numeroColegiado);
        return(true);
    }
Ejemplo n.º 8
0
    //Solo se puede usar si el usuario es usuario plano, no garantizo que pete si lo usais con otro tipo de usuario
    public static bool cambiarPrivilegiosAAdministrador(String alias)
    {
        Almacenaje claseAlmacenaje = new Almacenaje();
        Usuario    usuario         = claseAlmacenaje.devuelveUsuario(alias);

        cambiarPrivilegiosAUsuario(alias);
        claseAlmacenaje.insertaAdministrador(usuario.ID);
        return(true);
    }
Ejemplo n.º 9
0
    protected void Responder_Click(object sender, EventArgs e)
    {
        MensajeForo msg        = new MensajeForo();
        Almacenaje  almacenaje = new Almacenaje();
        Usuario     us         = almacenaje.devuelveUsuario(Request.Cookies["userName"].Value);

        msg.redactar(us.ID, Asunto.Text, Texto.Text, Convert.ToInt32(Request.QueryString[0]));
        Response.Redirect("./verHilo.aspx?hilo=" + Request.QueryString["hilo"]);
    }
Ejemplo n.º 10
0
    public void modificar(String asunto_p, String Texto)
    {
        asunto = asunto_p;
        texto  = Texto;
        texto += "\nModificado el dia" + Fecha.ToString();
        Almacenaje almacenaje = new Almacenaje();

        almacenaje.modificaMensajeForo(Fecha, asunto, texto, id_mensaje);
    }
Ejemplo n.º 11
0
    protected void Enviar_Click(object sender, EventArgs e)
    {
        InstruccionesCrearTema.Visible = true;
        MensajeForo mens       = new MensajeForo();
        Almacenaje  almacenaje = new Almacenaje();

        mens.redactarNuevoHilo(almacenaje.devuelveUsuario(Request.Cookies["userName"].Value).ID, Asunto.Text, Texto.Text);
        Response.Redirect("./verForoHilos.aspx");
    }
Ejemplo n.º 12
0
    public void redactarNuevoHilo(int id_emisor_p, String asunto_p, String texto_p)
    {
        id_emisor = id_emisor_p;
        Fecha     = DateTime.Now;
        asunto    = asunto_p;
        texto     = texto_p;
        Almacenaje almacenaje = new Almacenaje();

        almacenaje.inserNuevoHilo(id_emisor_p, DateTime.Now, asunto_p, texto_p);
    }
Ejemplo n.º 13
0
    public void redactar(int id_emisor_p, String asunto_p, String texto_p, int Id_hilo_p)
    {
        id_emisor = id_emisor_p;
        Fecha     = DateTime.Now;
        asunto    = asunto_p;
        texto     = texto_p;
        id_hilo   = Id_hilo_p;
        Almacenaje almacenaje = new Almacenaje();

        almacenaje.insertaMensajeForo(id_emisor, Fecha, asunto, texto, id_hilo);
    }
Ejemplo n.º 14
0
 public void Validar(Receta Recet)
 {
     if (Recet.estado != Receta.Estado.Valida)
     {
         Recet.estado = Receta.Estado.Valida;
         Almacenaje almacenamiento = new Almacenaje();
         Usuario    usuario        = new Usuario();
         usuario = almacenamiento.devuelveUsuario(Recet.Nombre_Autor);
         almacenamiento.ModificarReceta(Recet.Nombre, Recet.Categoria, usuario.ID, Recet.Ruta_Formulario, Convert.ToInt16(Recet.estado), Recet.Id);
         almacenamiento.AlmacenarRecetaConfirmada(Recet.Id, DateTime.Now);
     }
 }
Ejemplo n.º 15
0
    //Igual que el anterior, pero para cualquier objeto.
    public static void sincronizaProducto(Producto entrada)
    {
        Almacenaje almacenaje = new Almacenaje();

        if (existeProductoConIdTalQue(entrada.identificador))
        {
            almacenaje.ActualizaProducto(entrada.Nombre, entrada.Descripcion, entrada.Imagen, entrada.Precio, entrada.stock, entrada.identificador);
        }
        else
        {
            almacenaje.InsertaProducto(entrada.identificador, entrada.Nombre, entrada.Descripcion, entrada.Imagen, entrada.Precio, entrada.stock);
        }
    }
        /// <summary>
        /// Obtiene las ordenes de almacenaje de un proyecto seleccionado
        /// </summary>
        /// <param name="avisoLlegadaID"></param>
        /// <returns>Regresa un JSON object con las propiedades de la orden de almacenaje</returns>
        public object ObtenerOrdenesAlmacenaje(int ProyectoID, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    Almacenaje lstAlmacenaje = new Almacenaje();

                    //Patios y proyectos del usuario
                    List <int> proyectos = ctx.Sam3_Rel_Usuario_Proyecto.Where(x => x.UsuarioID == usuario.UsuarioID).Select(x => x.ProyectoID).AsParallel().ToList();

                    List <int> patios = (from r in ctx.Sam3_Proyecto
                                         join p in ctx.Sam3_Patio on r.PatioID equals p.PatioID
                                         where r.Activo && proyectos.Contains(r.ProyectoID)
                                         select p.PatioID).AsParallel().GroupBy(x => x).Select(x => x.First()).ToList();

                    List <ListaCombos> ordenesAlmacenaje = (from oa in ctx.Sam3_OrdenAlmacenaje
                                                            join roa in ctx.Sam3_Rel_OrdenAlmacenaje_NumeroUnico on oa.OrdenAlmacenajeID equals roa.OrdenAlmacenajeID
                                                            join nu in ctx.Sam3_NumeroUnico on roa.NumeroUnicoID equals nu.NumeroUnicoID
                                                            join p in ctx.Sam3_Proyecto on nu.ProyectoID equals p.ProyectoID
                                                            join pa in ctx.Sam3_Patio on p.PatioID equals pa.PatioID
                                                            where oa.Activo && roa.Activo && nu.Activo && p.Activo && pa.Activo &&
                                                            nu.ProyectoID == ProyectoID &&
                                                            proyectos.Contains(p.ProyectoID) &&
                                                            patios.Contains(pa.PatioID) &&
                                                            (nu.EstatusDocumental != null && nu.EstatusFisico != null)
                                                            select new ListaCombos
                    {
                        id = oa.Folio.ToString(),
                        value = oa.Folio.ToString()
                    }).AsParallel().GroupBy(x => x.id).Select(x => x.First()).ToList();

                    return(ordenesAlmacenaje.OrderBy(x => x.value).ToList());
                }
            }
            catch (Exception ex)
            {
                //-----------------Agregar mensaje al Log -----------------------------------------------
                LoggerBd.Instance.EscribirLog(ex);
                //-----------------Agregar mensaje al Log -----------------------------------------------

                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(ex.Message);
                result.ReturnCode     = 500;
                result.ReturnStatus   = false;
                result.IsAuthenicated = true;

                return(result);
            }
        }
Ejemplo n.º 17
0
    public void aModificar(Receta Recet, String Error)
    {
        Recet.estado = Receta.Estado.aModificar;

        Almacenaje almacenamiento = new Almacenaje();

        Usuario usuario = new Usuario();

        usuario = almacenamiento.devuelveUsuario(Recet.Nombre_Autor);

        almacenamiento.ModificarReceta(Recet.Nombre, Recet.Categoria, usuario.ID, Recet.Ruta_Formulario, Convert.ToInt16(Recet.estado), Recet.Id);


        almacenamiento.AlmacenarRecetaAModificar(Recet.Id, Error);
    }
Ejemplo n.º 18
0
    public void Rechazar(Receta Recet)
    {
        if (Recet.estado == Receta.Estado.Pendiente)
        {
            Recet.estado = Receta.Estado.Rechazada;

            Almacenaje almacenamiento = new Almacenaje();

            Usuario usuario = new Usuario();

            usuario = almacenamiento.devuelveUsuario(Recet.Nombre_Autor);

            almacenamiento.ModificarReceta(Recet.Nombre, Recet.Categoria, usuario.ID, Recet.Ruta_Formulario, Convert.ToInt16(Recet.estado), Recet.Id);
        }
    }
Ejemplo n.º 19
0
    protected void subirMenu_Click(object sender, EventArgs e)
    {
        Almacenaje almacenaje = new Almacenaje();
        Usuario    a;

        a = almacenaje.devuelveUsuario(Request.Cookies["UserName"].Value);
        Menu.insertarMenu(a.ID);
        Label7.Text = "ID usuario=" + a.ID + " nombre= " + a.Nombre + "apellidos= " + a.Apellido1 + " " + a.Apellido2 + " alias= " + a.Alias;
        Menu.insertarDesayuno(0);
        Menu.insertarPlato1(0);
        Menu.insertarPlato2(0);
        Menu.insertarPostre1(0);
        Menu.insertarCena(0);
        Menu.insertarPostre2(0);
        Response.Redirect("./verMenus.aspx");
    }
Ejemplo n.º 20
0
    protected void Button2_Click(object sender, EventArgs e)
    {
        Almacenaje almacenaje = new Almacenaje();

        aux = almacenaje.recuperaReceta(idRec);
        Usuario UsuarioE = new Usuario();
        Usuario UsuarioR = new Usuario();

        UsuarioE = almacenaje.devuelveUsuario(Request.Cookies["userName"].Value);
        UsuarioR = almacenaje.devuelveUsuario(recep);

        Mensaje_Privado Mensaje = new Mensaje_Privado(UsuarioE.ID, UsuarioR.ID, "Modificar receta", Error.Text, DateTime.Now);

        Mensaje.enviarMensajePrivado();
        esp.aModificar(aux, Error.Text);
        Response.Redirect("./AceptarReceta.aspx");
    }
Ejemplo n.º 21
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Almacenaje almacenaje = new Almacenaje();

        MensajeForo[] mens = almacenaje.devuelveMensajes(int.Parse(Request.QueryString["hilo"]));

        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            GridView1.Rows[i].Cells[1].Text = "Asunto:" + mens[i].asunto + System.Environment.NewLine + "\r\n" + "<br>" + mens[i].texto;
        }
        //GridView1.Columns[2].Visible = false;
        //GridView1.Columns[3].Visible = false;


        if (Request.Cookies["UserName"] == null)
        {
            Panel2.Visible = false;
        }
    }
Ejemplo n.º 22
0
    public static bool cambiarPrivilegiosAUsuario(String alias)
    {
        Almacenaje claseAlmacenaje = new Almacenaje();
        Usuario    usuario         = claseAlmacenaje.devuelveUsuario(alias);

        if (usuario is Administrador)
        {
            claseAlmacenaje.borraPrivilegiosAdministrador(alias);
        }
        else if (usuario is Restaurante)
        {
            claseAlmacenaje.borraPrivilegiosRestaurante(alias);
        }
        else if (usuario is Especialista)
        {
            claseAlmacenaje.borraPrivilegiosEspecialista(alias);
        }
        //enviarMensaje(Usuario usuario, String contenido);
        return(true);
    }
Ejemplo n.º 23
0
    protected void GridView1_RowCommand(Object sender, GridViewCommandEventArgs e)
    {
        aux = new Receta();


        if (e.CommandName == "Agregar")
        {
            //Modificar la receta id = e.CommandArgument;
            GridViewRow a = GridView1.Rows[Convert.ToInt32(e.CommandArgument)];

            Almacenaje almacenaje = new Almacenaje();
            aux = almacenaje.recuperaReceta(Convert.ToInt32(a.Cells[0].Text));

            Label1.Text = "Aceptada la receta      " + aux.Id + "        " + aux.Nombre + "          " + aux.Ruta_Formulario;
            esp.Validar(aux);

            Response.Redirect("./AceptarReceta.aspx");
        }
        if (e.CommandName == "Modificar")
        {
            GridViewRow a = GridView1.Rows[Convert.ToInt32(e.CommandArgument)];
            Label1.Text    = "Modificar la receta " + a.Cells[0].Text + " de " + a.Cells[3].Text + "\n Escribe en el siguiente cuadro el error.";
            idRec          = int.Parse(a.Cells[0].Text);
            Error.Visible  = true;
            Enviar.Visible = true;
            recep          = a.Cells[3].Text;
        }
        if (e.CommandName == "Rechazar")
        {
            GridViewRow a = GridView1.Rows[Convert.ToInt32(e.CommandArgument)];
            Label1.Text = "Rechazada la receta " + a.Cells[0].Text;
            Almacenaje almacenaje = new Almacenaje();
            aux = almacenaje.recuperaReceta(Convert.ToInt32(a.Cells[0].Text));

            //Label1.Text = "ID"+aux.Id+"Nombre"+aux.Nombre+"Autor"+aux.Nombre_Autor+"IDUsuario";

            esp.Rechazar(aux);

            Response.Redirect("./AceptarReceta.aspx");
        }
    }
Ejemplo n.º 24
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Almacenaje almacenaje = new Almacenaje();
        Usuario    Usuario    = new Usuario();

        Usuario = almacenaje.devuelveUsuario(Request.Cookies["userName"].Value);

        switch (Request.QueryString.Count)
        {
        case 1:
            Administrador.cambiarPrivilegiosAUsuario(Request.QueryString["alias"]);
            Usuario Usuario2 = new Usuario();
            Usuario2 = almacenaje.devuelveUsuario(Request.QueryString["alias"]);
            Mensaje_Privado Mensaje = new Mensaje_Privado(Usuario.ID, Usuario2.ID, "Realizado cambio de privilegios",
                                                          "Tus privilegios han sido modificados a Usuario", DateTime.Now);
            Mensaje.enviarMensajePrivado();
            cambioAceptado.Text = "El usuario " + Usuario2.Alias + " ha cambiado a Usuario";
            break;

        case 2:
            Administrador.cambiarPrivilegiosAEspecialista(Request.QueryString["alias"], Request.QueryString["nocolegiado"]);
            Usuario Usuario3 = new Usuario();
            Usuario3 = almacenaje.devuelveUsuario(Request.QueryString["alias"]);
            Mensaje_Privado Mensaje1 = new Mensaje_Privado(Usuario.ID, Usuario3.ID, "Realizado cambio de privilegios",
                                                           "Tus privilegios han sido modificados a Especialista", DateTime.Now);
            Mensaje1.enviarMensajePrivado();
            cambioAceptado.Text = "El usuario " + Usuario3.Alias + " ha cambiado a Especialista con número de colegiado " + Request.QueryString["nocolegiado"];
            break;

        case 3:
            Administrador.cambiarPrivilegiosARestaurante(Request.QueryString["alias"], Request.QueryString["Direccion"], float.Parse(Request.QueryString["Precio"]));
            Usuario Usuario4 = new Usuario();
            Usuario4 = almacenaje.devuelveUsuario(Request.QueryString["alias"]);
            Mensaje_Privado Mensaje2 = new Mensaje_Privado(Usuario.ID, Usuario4.ID, "Realizado cambio de privilegios",
                                                           "Tus privilegios han sido modificados a Restaurante", DateTime.Now);
            Mensaje2.enviarMensajePrivado();
            cambioAceptado.Text = "El usuario " + Usuario4.Alias + " ha cambiado a Restaurante con dirección "
                                  + Request.QueryString["Direccion"] + " y precio medio por menú " + float.Parse(Request.QueryString["Precio"] + " euros");
            break;
        }
    }
Ejemplo n.º 25
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Almacenaje almacenaje = new Almacenaje();

        Producto produc = new Producto(int.Parse(Request.QueryString["id"]));

        TextBox_Descripcion_Producto.Text = produc.Descripcion;
        TextBox_Precio.Text          = produc.Precio.ToString();
        TextBox_Nombre_Producto.Text = produc.Nombre;
        ErrorCantidad.Visible        = false;
        ErrorStock.Visible           = false;
        LabelAñadido.Visible         = false;
        if (produc.Imagen == "")
        {
            Image1.ImageUrl = "./imagenes/NOimagen.jpg";
        }
        else
        {
            Image1.ImageUrl = "./imagenes/" + produc.Imagen;
        }
    }
Ejemplo n.º 26
0
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int pedido = int.Parse(Request.QueryString["pedido"]);

        if (e.CommandName == "borrar")
        {
            // Retrieve the row index stored in the
            // CommandArgument property.
            int index = Convert.ToInt32(e.CommandArgument);

            // Retrieve the row that contains the button
            // from the Rows collection.
            GridViewRow row = GridView1.Rows[index];

            // Add code here to add the item to the shopping cart.
            int NL = int.Parse(row.Cells[0].Text);

            Almacenaje a = new Almacenaje();
            a.borraProductoEnPedido(pedido, NL);
        }
    }
Ejemplo n.º 27
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        Almacenaje almacenaje = new Almacenaje();
        Usuario    Usuario    = new Usuario();

        Usuario = almacenaje.devuelveUsuario(Request.Cookies["userName"].Value);


        if (RadioButtonList1.SelectedValue == "Especialista")
        {
            Mensaje_Privado Mensaje = new Mensaje_Privado(Usuario.ID, 1, "Cambio de Privilegios a Especialista",
                                                          "El usuario: " + Usuario.Alias +
                                                          " , desea cambiar sus privilegios a Especialista, su Numero de Colegiado es: "
                                                          + NumColegiado.Text + " {a href=./aceptarCambio.aspx?alias=" + Usuario.Alias +
                                                          "&nocolegiado=" + NumColegiado.Text + "}Aceptar cambios{/a}", DateTime.Now);

            Mensaje.enviarMensajePrivado();
        }
        if (RadioButtonList1.SelectedValue == "Restaurante")
        {
            Mensaje_Privado Mensaje = new Mensaje_Privado(Usuario.ID, 1, "Cambio de Privilegios a Restaurante", "El usuario: " + Usuario.Alias +
                                                          " , desea cambiar sus privilegios a Restaurante, su Direccion es: " + DirRestaurante.Text + " y su precio medio" +
                                                          " por menu:" + PrecioRestaurante.Text +
                                                          " {a href=./aceptarCambio.aspx?alias=" + Usuario.Alias + "&Direccion="
                                                          + DirRestaurante.Text.Replace(" ", "%20") + "&Precio=" + PrecioRestaurante.Text + "}Aceptar cambios{/a}", DateTime.Now);

            Mensaje.enviarMensajePrivado();
        }
        if (RadioButtonList1.SelectedValue != "Especialista" && RadioButtonList1.SelectedValue != "Restaurante")
        {
            Mensaje_Privado Mensaje = new Mensaje_Privado(Usuario.ID, 1, "Cambio de Privilegios a Usuario", "El usuario: " + Usuario.Alias +
                                                          " , desea cambiar sus privilegios a Usuario" +
                                                          " {a href=./aceptarCambio.aspx?alias=" + Usuario.Alias + "}Aceptar cambios{/a}", DateTime.Now);

            Mensaje.enviarMensajePrivado();
        }

        Label1.Text = "Tu solicitud se ha enviado correctamente";
    }
Ejemplo n.º 28
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int         i, filas = GridView1.Rows.Count;
        GridViewRow a;
        Almacenaje  b = new Almacenaje();

        for (i = 0; i < filas; i++)
        {
            a = GridView1.Rows[i];
            if (a.Cells[1].Text == "&nbsp;")
            {
                a.Cells[1].Text = "<img src=\"./imagenes/NOimagen.jpg\" height=\"100\">";
            }
            else
            {
                a.Cells[1].Text = "<img src=\"./imagenes/" + a.Cells[1].Text + "\" height=\"100\">";
            }

            int idUsuario = b.devuelveUsuario(Request.Cookies["userName"].Value).ID;
            HyperLink1.NavigateUrl = "./CheckOutCompra.aspx?pedido=" + b.pedidoUltimo(idUsuario);
        }
    }
Ejemplo n.º 29
0
    protected void ButtonAñadir_Click(object sender, EventArgs e)
    {
        Almacenaje a         = new Almacenaje();
        Producto   produc    = new Producto(int.Parse(Request.QueryString["id"]));
        int        idUsuario = a.devuelveUsuario(Request.Cookies["userName"].Value).ID;

        ErrorCantidad.Visible = false;
        if (TextBoxCantidad.Text == "" || TextBoxCantidad.Text[0] == ' ')
        {
            ErrorCantidad.Visible = true;
        }
        else
        if (double.Parse(TextBoxCantidad.Text) >= Int32.MaxValue)
        {
            ErrorCantidad.Visible = true;
            ErrorCantidad.Text    = "Valor introducido fuera de rango";
        }
        else
        {
            int cant = Int32.Parse(TextBoxCantidad.Text);
            if (cant > produc.stock)
            {
                ErrorStock.Text    = "Solo disponemos de " + produc.stock + " unidades de este producto";
                ErrorStock.Visible = true;
            }
            else
            {
                if (a.pedidoUltimo(idUsuario) == -1)
                {
                    a.insertaNuevoPedido(idUsuario);
                }
                a.insertaProductoEnPedido(a.pedidoUltimo(idUsuario), produc.identificador, int.Parse(TextBoxCantidad.Text));
                ButtonAñadir.Visible = false;
                LabelAñadido.Visible = true;
            }
        }
    }
        public object ObtenerItemCodesOrdenesAlmacenaje(string Proyecto, string ordenAlmacenaje, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    Almacenaje         lstAlmacenaje     = new Almacenaje();
                    List <ListaCombos> ordenesAlmacenaje = new List <ListaCombos>();
                    int ProyectoID = Proyecto != "" ? Convert.ToInt32(Proyecto) : 0;
                    int folio      = ordenAlmacenaje != "" ? Convert.ToInt32(ordenAlmacenaje) : 0;
                    //Patios y proyectos del usuario
                    List <int> proyectos = ctx.Sam3_Rel_Usuario_Proyecto.Where(x => x.UsuarioID == usuario.UsuarioID).Select(x => x.ProyectoID).AsParallel().ToList();

                    List <int> patios = (from r in ctx.Sam3_Proyecto
                                         join p in ctx.Sam3_Patio on r.PatioID equals p.PatioID
                                         where r.Activo && proyectos.Contains(r.ProyectoID)
                                         select p.PatioID).AsParallel().GroupBy(x => x).Select(x => x.First()).ToList();


                    List <Sam3_Rel_OrdenAlmacenaje_NumeroUnico> lstRelONU = (from oa in ctx.Sam3_OrdenAlmacenaje
                                                                             join roa in ctx.Sam3_Rel_OrdenAlmacenaje_NumeroUnico on oa.OrdenAlmacenajeID equals roa.OrdenAlmacenajeID
                                                                             join nu in ctx.Sam3_NumeroUnico on roa.NumeroUnicoID equals nu.NumeroUnicoID
                                                                             join p in ctx.Sam3_Proyecto on nu.ProyectoID equals p.ProyectoID
                                                                             join pa in ctx.Sam3_Patio on p.PatioID equals pa.PatioID
                                                                             where oa.Activo && roa.Activo && nu.Activo && p.Activo && pa.Activo &&
                                                                             oa.Folio == folio &&
                                                                             proyectos.Contains(p.ProyectoID) &&
                                                                             patios.Contains(pa.PatioID) &&
                                                                             p.ProyectoID == ProyectoID &&
                                                                             (nu.EstatusDocumental != null && nu.EstatusFisico != null)
                                                                             select roa).AsParallel().ToList();

                    List <Sam3_Rel_OrdenAlmacenaje_NumeroUnico> agruparNumerosUnicos = lstRelONU.GroupBy(x => x.NumeroUnicoID).Select(x => x.First()).OrderBy(x => x.NumeroUnicoID).AsParallel().ToList();

                    List <ListaCombos> lstItemCode = (from lstRel in lstRelONU
                                                      join nu in ctx.Sam3_NumeroUnico on lstRel.NumeroUnicoID equals nu.NumeroUnicoID
                                                      join ic in ctx.Sam3_ItemCode on nu.ItemCodeID equals ic.ItemCodeID
                                                      select new ListaCombos
                    {
                        id = ic.ItemCodeID.ToString(),
                        value = ic.Codigo
                    }).AsParallel().ToList();

                    List <ListaCombos> agruparItemCodes = lstItemCode.GroupBy(x => x.id).Select(x => x.First()).OrderBy(x => x.id).AsParallel().ToList();

                    List <ListadoAlmacenaje> ListadoAlmacenaje = (from roa in agruparNumerosUnicos
                                                                  join nu in ctx.Sam3_NumeroUnico on roa.NumeroUnicoID equals nu.NumeroUnicoID
                                                                  select new ListadoAlmacenaje
                    {
                        ItemCodeID = nu.ItemCodeID.ToString(),
                        NumeroUnicoID = roa.NumeroUnicoID.ToString(),
                        NumeroUnico = nu.Prefijo + "-" + nu.Consecutivo,
                        Rack = nu.Rack == null ? string.Empty : nu.Rack
                    }).AsParallel().ToList();



                    foreach (var item in ListadoAlmacenaje)
                    {
                        int numeroDigitos = ctx.Sam3_ProyectoConfiguracion.Where(x => x.ProyectoID == ProyectoID)
                                            .Select(x => x.DigitosNumeroUnico).AsParallel().SingleOrDefault();

                        string formato = "D" + numeroDigitos.ToString();

                        string[] elementos = item.NumeroUnico.Split('-').ToArray();

                        int temp = Convert.ToInt32(elementos[1]);

                        item.NumeroUnico = elementos[0] + "-" + temp.ToString(formato);
                    }

                    lstAlmacenaje.ListadoItemCode   = agruparItemCodes;
                    lstAlmacenaje.ListadoAlmacenaje = ListadoAlmacenaje;

                    return(lstAlmacenaje);
                }
            }
            catch (Exception ex)
            {
                //-----------------Agregar mensaje al Log -----------------------------------------------
                LoggerBd.Instance.EscribirLog(ex);
                //-----------------Agregar mensaje al Log -----------------------------------------------
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(ex.Message);
                result.ReturnCode     = 500;
                result.ReturnStatus   = false;
                result.IsAuthenicated = true;

                return(result);
            }
        }