/// <summary>
        /// Busca el registro que contiene el ID pasado por parametro y lo elimina.
        /// </summary>
        /// <param name="_ID_CategoriaArticuloEliminar">Registro que se eliminará.</param>
        /// <param name="_InformacionDelError">Devuelve una cadena de texto con informacion para el usuario en caso de que el
        /// metodo devuelva null (debido a que ocurrio un error).</param>
        public int Borrar(int _ID_CategoriaArticuloEliminar, ref string _InformacionDelError)
        {
            using (BDRestauranteEntities BBDD = new BDRestauranteEntities())
            {
                try
                {
                    CategoriaArticulo ObjetoAEliminar = BBDD.CategoriaArticulo.SingleOrDefault(Identificador => Identificador.ID_CategoriaArticulo == _ID_CategoriaArticuloEliminar);

                    if (ObjetoAEliminar != null)
                    {
                        BBDD.CategoriaArticulo.Remove(ObjetoAEliminar);
                        return(BBDD.SaveChanges());
                    }
                    else
                    {
                        return(0);
                    }
                }
                catch (Exception Error)
                {
                    _InformacionDelError = $"OCURRIO UN ERROR INESPERADO AL INTENTAR LISTAR LA INFORMACIÓN: {Error.Message}\r\n\r\n" +
                                           $"ORIGEN DEL ERROR: {Error.StackTrace}\r\n\r\n" +
                                           $"OBJETO QUE GENERÓ EL ERROR: {Error.Data}\r\n\r\n\r\n" +
                                           $"ENVIE AL PROGRAMADOR UNA FOTO DE ESTE MENSAJE CON UNA DESCRIPCION DE LO QUE HIZO ANTES DE QUE SE GENERARÁ " +
                                           $"ESTE ERROR PARA QUE SEA ARREGLADO.";
                    return(0);
                }
            }
        }
Example #2
0
        public List <CategoriaArticulo> ListarCategoria()
        {
            List <CategoriaArticulo> lista = new List <CategoriaArticulo>();
            CategoriaArticulo        aux;
            AccesoDatosManager       accesoDatos = new AccesoDatosManager();

            try
            {
                accesoDatos.SetearConsulta("Select Id, Nombre from CATEGORIAS");
                accesoDatos.AbrirConexion();
                accesoDatos.EjecutarConsulta();
                while (accesoDatos.Lector.Read())
                {
                    aux        = new CategoriaArticulo();
                    aux.Id     = (int)accesoDatos.Lector[0];
                    aux.Nombre = (string)accesoDatos.Lector[1];
                    //aux.Descripcion = (string)accesoDatos.Lector[2];
                    lista.Add(aux);
                }
                return(lista);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                accesoDatos.CerrarConexion();
            }
        }
Example #3
0
        public CategoriaArticulo GetCategoria(int Id)
        {
            CategoriaArticulo  aux         = new CategoriaArticulo();
            AccesoDatosManager accesoDatos = new AccesoDatosManager();

            try
            {
                accesoDatos.SetearConsulta("Select Id, Nombre from CATEGORIAS where Id = @Id");
                accesoDatos.Comando.Parameters.Clear();
                accesoDatos.Comando.Parameters.AddWithValue("@Id", Id.ToString());
                accesoDatos.AbrirConexion();
                accesoDatos.EjecutarConsulta();
                while (accesoDatos.Lector.Read())
                {
                    aux.Id     = (Int32)accesoDatos.Lector[0];
                    aux.Nombre = (string)accesoDatos.Lector[1];
                }
                return(aux);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                accesoDatos.CerrarConexion();
            }
        }
    protected void btnAgregar_Click(object sender, EventArgs e)
    {
        try
        {
            string nombre = txtNombre.Text.Trim();

            if (string.IsNullOrEmpty(nombre))
            {
                throw new ExcepcionLogica("El Nombre de la categoria no puede quedar vacío.");
            }

            string descripcion = txtDescripcion.Text.Trim();

            if (string.IsNullOrEmpty(descripcion))
            {
                throw new ExcepcionLogica("La descripción de la categoria no puede quedar vacía.");
            }

            bool eliminado = false;

            CategoriaArticulo categoria = new CategoriaArticulo(nombre, descripcion, eliminado);

            buscar = true; //bandera para buscar la categoria en caso de que la misma este eliminada (true)
            //de forma logica en la base de datos y poder reemplazarla o agregarla de manera normal

            CategoriaArticulo buscarCategoria = LogicaCategoriaArticulo.Buscar(nombre, buscar);

            if (buscarCategoria == null)
            {
                LogicaCategoriaArticulo.Agregar(categoria);
            }
            else
            {
                LogicaCategoriaArticulo.Modificar(categoria);
            }

            LimpiarFormulario();
            txtDescripcion.Enabled = false;

            Panel1.Visible       = true;
            lblMensaje.ForeColor = System.Drawing.Color.Green;
            lblMensaje.Text      = "¡Categoria agregada con éxito!";
        }
        catch (ApplicationException ex)
        {
            Panel1.Visible       = true;
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! " + ex.Message;
        }

        catch
        {
            Panel1.Visible       = true;
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! No se pudo agregar la categoria.";
        }
    }
        /// <summary>Actualiza el estado de la categoria a activo/inactivo.</summary>
        /// <param name="_EstadoElemento">Enum que contrendra el numero del tipo de estado.</param>
        private void ActualizarEstadoCategoria(ClsEstadosCategoriasArticulos.EEstadosCategoriasArticulos _EstadoElemento)
        {
            bool ActualizoUnRegistro = false;

            ClsCategoriasArticulos Categoria           = new ClsCategoriasArticulos();
            CategoriaArticulo      ActualizarCategoria = new CategoriaArticulo();

            int TotalDeFilas = dgvEstadoCategoria.Rows.Count;

            for (int Indice = 0; Indice < TotalDeFilas; Indice++)
            {
                //Pregunto si la celda es diferente a null
                if (dgvEstadoCategoria.Rows[Indice].Cells[(int)ENumColDGVCategorias.Seleccionar].Value != null)
                {
                    //Casteo el check del objeto a booleano y pregunto si es true
                    if ((bool)dgvEstadoCategoria.Rows[Indice].Cells[(int)ENumColDGVCategorias.Seleccionar].Value)
                    {
                        string InformacionDelError = string.Empty;

                        ActualizarCategoria = Categoria.LeerPorNumero((int)dgvEstadoCategoria.Rows[Indice].Cells[(int)ENumColDGVCategorias.ID_Categoria].Value, ref InformacionDelError);
                        ActualizarCategoria.ID_EstadoCategoriaArticulo = (int)_EstadoElemento;

                        if (Categoria.Actualizar(ActualizarCategoria, ref InformacionDelError) != 0)
                        {
                            dgvEstadoCategoria.Rows.Remove(dgvEstadoCategoria.Rows[Indice]);
                            Indice       -= 1;
                            TotalDeFilas -= 1;

                            ActualizoUnRegistro = true;

                            UltimaFilaSeleccionada = -1;
                        }
                        else if (InformacionDelError != string.Empty)
                        {
                            MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
            }

            // Cargar los DGV y CMB solo si acutalizo un registro
            if (ActualizoUnRegistro)
            {
                if (_EstadoElemento == ClsEstadosCategoriasArticulos.EEstadosCategoriasArticulos.Activo)
                {
                    CargarDGVArticulos(ClsArticulos.ETipoListado.ArticulosActivosInactivos);
                }
                else
                {
                    CargarDGVArticulos(ClsArticulos.ETipoListado.ArticulosActivosInactivos);
                }

                FormularioCargado = false;
                CargarCMBCategorias();
                FormularioCargado = true;
            }
        }
        public static CategoriaArticulo Buscar(string nombre, bool buscar)
        {
            SqlConnection conexion    = null;
            SqlDataReader drCategoria = null;

            try
            {
                conexion = new SqlConnection(Conexion.CadenaConexion);

                if (buscar)
                {
                    SqlCommand cmdBuscarCategoria = new SqlCommand("BuscarCategoriaSinDiscriminarEliminado", conexion);
                    cmdBuscarCategoria.CommandType = CommandType.StoredProcedure;

                    cmdBuscarCategoria.Parameters.AddWithValue("@nombre", nombre);

                    conexion.Open();

                    drCategoria = cmdBuscarCategoria.ExecuteReader();
                }
                else
                {
                    SqlCommand cmdBuscarCategoria = new SqlCommand("BuscarCategoriasNoEliminada", conexion);
                    cmdBuscarCategoria.CommandType = CommandType.StoredProcedure;

                    cmdBuscarCategoria.Parameters.AddWithValue("@nombre", nombre);

                    conexion.Open();

                    drCategoria = cmdBuscarCategoria.ExecuteReader();
                }

                CategoriaArticulo categoria = null;

                if (drCategoria.Read())
                {
                    categoria = new CategoriaArticulo((string)drCategoria["Nombre"], (string)drCategoria["Descripcion"], (bool)drCategoria["Eliminado"]);
                }

                return(categoria);
            }
            finally
            {
                if (drCategoria != null)
                {
                    drCategoria.Close();
                }

                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }
Example #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            Panel2.Visible = false;

            List <Articulo> Articulos = LogicaArticulo.Listar(false);

            DataTable dtArticulos = new DataTable();
            dtArticulos.Columns.Add(new DataColumn("CodigoBarras"));
            dtArticulos.Columns.Add(new DataColumn("Imagen"));
            dtArticulos.Columns.Add(new DataColumn("Nombre"));
            dtArticulos.Columns.Add(new DataColumn("Precio"));
            dtArticulos.Columns.Add(new DataColumn("Stock"));
            dtArticulos.Columns.Add(new DataColumn("Categoria"));


            foreach (Articulo a in Articulos)
            {
                DataRow drwArticulos = dtArticulos.NewRow();
                drwArticulos["CodigoBarras"] = a.CodigoBarras;
                drwArticulos["Imagen"]       = a.Imagen;
                drwArticulos["Nombre"]       = a.Nombre;
                drwArticulos["Precio"]       = a.Precio;
                drwArticulos["Stock"]        = a.Stock;
                CategoriaArticulo categoria = a.Categoria;
                drwArticulos["categoria"] = categoria.Nombre;

                dtArticulos.Rows.Add(drwArticulos);
            }

            gvArticulos.DataSource = dtArticulos;

            if (Session["CodigoArticulo"] != null)
            {
                gvArticulos.PageIndex = ultimaPagina;
            }

            gvArticulos.DataBind();
        }
        catch (ApplicationException ex)
        {
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! " + ex.Message;
        }

        catch
        {
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! Al cargar la pagina, no se encontro el repositorio de base de datos.";
        }
    }
Example #8
0
    protected void Cargar2(int cantidadListado, List <Articulo> Articulos, DataTable dtArticulos)
    {
        if (cantidadListado == 0) // selecciona mostrar todos los articulos o la cantidad seleccionada
        {
            gvArticulos.PageSize = Articulos.Count;
        }
        else
        {
            gvArticulos.PageSize = cantidadListado;
        }

        try
        {
            foreach (Articulo a in Articulos)
            {
                DataRow drwArticulos = dtArticulos.NewRow();
                drwArticulos["CodigoBarras"] = a.CodigoBarras;
                drwArticulos["Imagen"]       = a.Imagen;
                drwArticulos["Nombre"]       = a.Nombre;
                drwArticulos["Precio"]       = a.Precio;
                drwArticulos["Stock"]        = a.Stock;
                CategoriaArticulo categoria = a.Categoria;
                drwArticulos["categoria"] = categoria.Nombre;

                dtArticulos.Rows.Add(drwArticulos);
            }

            gvArticulos.DataSource = dtArticulos;

            if (Session["CodigoArticulo"] != null)
            {
                gvArticulos.PageIndex = ultimaPagina;
            }

            gvArticulos.DataBind();

            Session["CategoriaSeleccionada"] = ddlCategorias.SelectedValue;
        }
        catch (ApplicationException ex)
        {
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! " + ex.Message;
        }

        catch
        {
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! Al cargar la pagina.";
        }
    }
    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            if (txtNombre.Text.Trim() == string.Empty)
            {
                throw new ExcepcionPresentacion("El nombre de la categoria a buscar no puede quedar vacío.");
            }

            string nombre = txtNombre.Text.Trim();

            buscar = false; // bandera para buscar categorias NO eliminadas logicamente en la base de datos

            CategoriaArticulo categoria = LogicaCategoriaArticulo.Buscar(nombre, buscar);

            if (categoria != null)
            {
                txtNombre.Text      = categoria.Nombre;
                txtDescripcion.Text = categoria.Descripcion;

                AparecerDesaparecerBotonesBuscarNoNULL();

                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Green;
                lblMensaje.Text      = "¡Categoria Encontrada!";
            }
            else
            {
                AparecerDesaparecerBotonesBuscarEsNULL();

                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "No se encontró ningúna categoria con el nombre: '" + nombre + "', si desea puede Agregarla.";
            }
        }
        catch (ApplicationException ex)
        {
            Panel1.Visible       = true;
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡ERROR! " + ex.Message;
        }
        catch
        {
            Panel1.Visible       = true;
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡ERROR! Se produjo un error al buscar la categoria.";
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            Response.CacheControl = "no-cache";

            if (Session["CodigoArticulo"] == null)
            {
                Session["Mensaje"] = "¡ERROR! Para acceder a los detalles de articulos debe seleccionar un link de detalles.";
                Response.Redirect("~/Error.aspx");
            }

            long codigo = (long)Session["CodigoArticulo"];
            bool buscar = false;

            Articulo          articulo  = LogicaArticulo.Buscar(codigo, buscar);
            CategoriaArticulo categoria = articulo.Categoria;

            if (articulo != null)
            {
                txtcodigoBarras.Text = articulo.CodigoBarras.ToString();
                lblNombre.Text       = articulo.Nombre;
                txtPrecio.Text       = "USD " + articulo.Precio.ToString() + "   Contado.";
                txtStock.Text        = articulo.Stock.ToString();
                lblDescripcion.Text  = articulo.Descripcion;
                txtCategoria.Text    = articulo.Categoria.Nombre;
                imgFoto.ImageUrl     = articulo.Imagen;
            }
            else
            {
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "No se encontró el articulo con el código de barras " + codigo + ".";
            }

            Panel2.Visible = false;
        }
        catch (ApplicationException ex)
        {
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! " + ex.Message;
        }
        catch
        {
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! No se pudo mostrar el articulo.";
        }
    }
Example #11
0
        public static void Validar(CategoriaArticulo categoria)
        {
            if (categoria == null)
            {
                throw new ExcepcionLogica("La categoria es nula,");
            }

            if (categoria.Nombre.Length > 20)
            {
                throw new ExcepcionLogica("El nombre no puede tener más de 20 caracteres de longitud.");
            }

            if (categoria.Descripcion.Length > 1000)
            {
                throw new ExcepcionLogica("La descripción no puede tener más de 100 caracteres de longitud.");
            }
        }
 /// <summary>
 /// Crea un nuevo registro a partir de los datos que contiene el objeto pasado por parametro.
 /// </summary>
 /// <param name="_CategoriaArticulo">Objeto que contiene los datos del nuevo registro que se creará.</param>
 ///<param name="_InformacionDelError">Devuelve una cadena de texto con informacion para el usuario en caso de que el
 /// metodo devuelva null (debido a que ocurrio un error).</param>
 public int Crear(CategoriaArticulo _CategoriaArticulo, ref string _InformacionDelError)
 {
     using (BDRestauranteEntities BBDD = new BDRestauranteEntities())
     {
         try
         {
             BBDD.CategoriaArticulo.Add(_CategoriaArticulo);
             return(BBDD.SaveChanges());
         }
         catch (Exception Error)
         {
             _InformacionDelError = $"OCURRIO UN ERROR INESPERADO AL INTENTAR LISTAR LA INFORMACIÓN: {Error.Message}\r\n\r\n" +
                                    $"ORIGEN DEL ERROR: {Error.StackTrace}\r\n\r\n" +
                                    $"OBJETO QUE GENERÓ EL ERROR: {Error.Data}\r\n\r\n\r\n" +
                                    $"ENVIE AL PROGRAMADOR UNA FOTO DE ESTE MENSAJE CON UNA DESCRIPCION DE LO QUE HIZO ANTES DE QUE SE GENERARÁ " +
                                    $"ESTE ERROR PARA QUE SEA ARREGLADO.";
             return(0);
         }
     }
 }
        public static void Modificar(CategoriaArticulo categoria)
        {
            SqlConnection conexion = null;

            try
            {
                conexion = new SqlConnection(Conexion.CadenaConexion);

                SqlCommand cmdModificarCategoria = new SqlCommand("ModificarCategoria", conexion);
                cmdModificarCategoria.CommandType = CommandType.StoredProcedure;

                cmdModificarCategoria.Parameters.AddWithValue("@nombre", categoria.Nombre);
                cmdModificarCategoria.Parameters.AddWithValue("@descripcion", categoria.Descripcion);
                cmdModificarCategoria.Parameters.AddWithValue("@eliminado", categoria.Eliminado);

                SqlParameter retorno = new SqlParameter("@valorRetorno", SqlDbType.Int);
                retorno.Direction = ParameterDirection.ReturnValue;
                cmdModificarCategoria.Parameters.Add(retorno);

                conexion.Open();

                int filasAfectadas = cmdModificarCategoria.ExecuteNonQuery();

                if ((int)retorno.Value == 1)
                {
                    throw new ExcepcionPersistencia("No existe una categoria con el nombre: " + categoria.Nombre);
                }

                if (filasAfectadas < 1)
                {
                    throw new ExcepcionPersistencia("Ocurrio un Error al modificar la categoria: " + categoria.Nombre);
                }
            }
            finally
            {
                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }
        public static List <CategoriaArticulo> Listar()
        {
            SqlConnection conexion    = null;
            SqlDataReader drCategoria = null;

            try
            {
                conexion = new SqlConnection(Conexion.CadenaConexion);

                SqlCommand cmdListarCategorias = new SqlCommand("ListarCategorias", conexion);
                cmdListarCategorias.CommandType = CommandType.StoredProcedure;

                conexion.Open();

                drCategoria = cmdListarCategorias.ExecuteReader();

                List <CategoriaArticulo> Categorias = new List <CategoriaArticulo>();
                CategoriaArticulo        categoria;

                while (drCategoria.Read())
                {
                    categoria = new CategoriaArticulo((string)drCategoria["Nombre"], (string)drCategoria["Descripcion"], (bool)drCategoria["Eliminado"]);

                    Categorias.Add(categoria);
                }

                return(Categorias);
            }
            finally
            {
                if (drCategoria != null)
                {
                    drCategoria.Close();
                }

                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }
Example #15
0
        public void ModificarCAtegoria(CategoriaArticulo categoria)
        {
            AccesoDatosManager accesoDatos = new AccesoDatosManager();

            try
            {
                accesoDatos.SetearConsulta("update CATEGORIAS Set NOMBRE=@Nombre Where ID=" + categoria.Id);
                accesoDatos.Comando.Parameters.Clear();
                accesoDatos.Comando.Parameters.AddWithValue("@NOMBRE", categoria.Nombre.ToString());
                accesoDatos.AbrirConexion();
                accesoDatos.EjecutarAccion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                accesoDatos.CerrarConexion();
            }
        }
Example #16
0
        private void DgvEstadoCategoria_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex != -1)
            {
                using (FrmCrearCategoria FormModificaCategoria = new FrmCrearCategoria((int)dgvCategorias.Rows[e.RowIndex].Cells[(int)ENumColDGVCategorias.ID_Categoria].Value))
                {
                    FormModificaCategoria.ShowDialog();

                    if (FormModificaCategoria.DialogResult == DialogResult.OK)
                    {
                        string InformacionDelError = string.Empty;

                        ClsCategoriasArticulos CategoriasArticulos = new ClsCategoriasArticulos();
                        CategoriaArticulo      ActualizarCategoria = CategoriasArticulos.LeerPorNumero((int)dgvCategorias.Rows[e.RowIndex].Cells[(int)ENumColDGVCategorias.Categoria].Value, ref InformacionDelError);

                        if (ActualizarCategoria != null)
                        {
                            dgvCategorias.Rows[e.RowIndex].Cells[(int)ENumColDGVCategorias.Categoria].Value = ActualizarCategoria.Nombre;

                            if (ActualizarCategoria.ParaCocina == (int)ClsCategoriasArticulos.EParaCocina.Si)
                            {
                                dgvCategorias.Rows[e.RowIndex].Cells[(int)ENumColDGVCategorias.SeEnvianCocina].Value = "SI";
                            }
                            else
                            {
                                dgvCategorias.Rows[e.RowIndex].Cells[(int)ENumColDGVCategorias.SeEnvianCocina].Value = "NO";
                            }

                            dgvCategorias.Sort(dgvCategorias.Columns[(int)ENumColDGVCategorias.Categoria], ListSortDirection.Ascending);
                        }
                        else if (InformacionDelError != string.Empty)
                        {
                            MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
            }
        }
Example #17
0
        public void AgregarCategoria(CategoriaArticulo categoria)
        {
            //SqlConnection conexion = new SqlConnection();
            //SqlCommand comando = new SqlCommand();
            AccesoDatosManager accesoDatos = new AccesoDatosManager();

            try
            {
                accesoDatos.SetearConsulta("insert into CATEGORIAS ( Nombre, Descripcion) values (@Nombre, @Descripcion)");
                accesoDatos.Comando.Parameters.Clear();
                accesoDatos.Comando.Parameters.AddWithValue("@Nombre", categoria.Nombre.ToString());
                accesoDatos.Comando.Parameters.AddWithValue("@Descripcion", categoria.Descripcion.ToString());
                accesoDatos.AbrirConexion();
                accesoDatos.EjecutarAccion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                accesoDatos.CerrarConexion();
            }
        }
        private void CargarCategoria()
        {
            btnAceptar.Visible        = false;
            BtnGuardarCambios.Visible = true;

            string InformacionDelError = string.Empty;

            ClsCategoriasArticulos CategoriasArticulos = new ClsCategoriasArticulos();
            CategoriaArticulo      CargarCategoria     = CategoriasArticulos.LeerPorNumero(ID_Categoria, ref InformacionDelError);

            if (CargarCategoria != null)
            {
                txtNombreCategoria.Text = CargarCategoria.Nombre;

                if (CargarCategoria.ParaCocina == (int)ClsCategoriasArticulos.EParaCocina.Si)
                {
                    rbnCocinaNo.Checked = false;
                    rbnCocinaSi.Checked = true;
                }
                else
                {
                    rbnCocinaNo.Checked = true;
                    rbnCocinaSi.Checked = false;
                }
            }
            else if (InformacionDelError == string.Empty)
            {
                MessageBox.Show("Fallo al cargar la categoria", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Close();
            }
            else
            {
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Close();
            }
        }
        /// <summary>Carga la carta con todos los articulos activos (incluyendo a los que su categoria fue eliminada)</summary>
        private void CargarDGVCarta(ClsArticulos.ETipoListado _TipoDeListado)
        {
            if (FormularioCargado)
            {
                string NombreArticulo = string.Empty;

                int ID_CategoriaFiltro = 0;

                if (cmbCategoria.SelectedValue != null)
                {
                    CategoriaArticulo CategoriaSeleccionada = (CategoriaArticulo)cmbCategoria.SelectedItem;
                    ID_CategoriaFiltro = CategoriaSeleccionada.ID_CategoriaArticulo;
                }

                if (txtBuscarPorNombre.Text != TEXTO_VISUAL_BUSCAR)
                {
                    NombreArticulo = txtBuscarPorNombre.Text;
                }

                dgvCarta.Rows.Clear();

                string InformacionDelError = string.Empty;

                ClsArticulos Articulos = new ClsArticulos();

                List <Articulo> ListarArticulosActivos = Articulos.LeerListado(_TipoDeListado, ref InformacionDelError, ClsArticulos.ETipoListado.ArticulosActivos, NombreArticulo, ID_CategoriaFiltro);

                if (ListarArticulosActivos != null)
                {
                    foreach (Articulo Elemento in ListarArticulosActivos)
                    {
                        int NumeroDeFila = dgvCarta.Rows.Add();

                        dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.ID_Articulo].Value = Elemento.ID_Articulo;
                        dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Nombre].Value      = Elemento.Nombre;
                        dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Descripcion].Value = Elemento.Descripcion;
                        dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Categoria].Value   = Elemento.CategoriaArticulo.Nombre;

                        if (Elemento.Precio == null)
                        {
                            dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.PrecioCarta].Value = "NO TIENE";
                        }
                        else
                        {
                            dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.PrecioCarta].Value = Elemento.Precio;
                        }

                        if (Elemento.PrecioDelivery == null)
                        {
                            dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.PrecioDelivery].Value = "NO TIENE";
                        }
                        else
                        {
                            dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.PrecioDelivery].Value = Elemento.PrecioDelivery;
                        }

                        if (ArticulosDeCartaMarcados.Count > 0)
                        {
                            foreach (int ElementoSecundario in ArticulosDeCartaMarcados)
                            {
                                if (ElementoSecundario == Elemento.ID_Articulo)
                                {
                                    dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Seleccionar].Value = true;
                                    ClsColores.MarcarFilaDGV(dgvCarta, NumeroDeFila, true);
                                    break;
                                }
                                else
                                {
                                    dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Seleccionar].Value = false;
                                    ClsColores.MarcarFilaDGV(dgvCarta, NumeroDeFila, false);
                                }
                            }
                        }
                        else
                        {
                            dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Seleccionar].Value = false;
                            ClsColores.MarcarFilaDGV(dgvCarta, NumeroDeFila, false);
                        }
                    }
                }
                else if (InformacionDelError == string.Empty)
                {
                    FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al cargar los articulos");
                    MessageBox.Show($"Ocurrio un fallo al intentar cargar los articulos de la carta",
                                    "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al cargar los articulos");
                    MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            dgvCarta.ClearSelection();
        }
        private void BtnGuardarCambios_Click(object sender, EventArgs e)
        {
            bool   DatosValidos         = true;
            string RegistroDeErrores    = string.Empty;
            int    AnchoFormInformacion = 100;

            txtNombreCategoria.Text = txtNombreCategoria.Text.Trim();

            if (txtNombreCategoria.Text.Length < 3)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Nombre' debe tener como minimo 3 caracteres.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (VerificarCategoriaRepetida(txtNombreCategoria.Text, ID_Categoria))
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El nombre de la categoria ya esta en uso.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (DatosValidos)
            {
                txtNombreCategoria.Text = txtNombreCategoria.Text.Substring(0, 1).ToUpper() + txtNombreCategoria.Text.Remove(0, 1).ToLower();

                string InformacionDelError = string.Empty;

                ClsCategoriasArticulos CategoriasArticulos = new ClsCategoriasArticulos();
                CategoriaArticulo      ActualizarCategoria = CategoriasArticulos.LeerPorNumero(ID_Categoria, ref InformacionDelError);

                if (ActualizarCategoria != null)
                {
                    ActualizarCategoria.Nombre = txtNombreCategoria.Text;

                    if (rbnCocinaSi.Checked)
                    {
                        ActualizarCategoria.ParaCocina = (int)ClsCategoriasArticulos.EParaCocina.Si;
                    }
                    else
                    {
                        ActualizarCategoria.ParaCocina = (int)ClsCategoriasArticulos.EParaCocina.No;
                    }

                    ClsDetalles    Detalles = new ClsDetalles();
                    List <Detalle> SeEstaUsuandoLaCategoria = Detalles.LeerListado(-1, ClsDetalles.ETipoDeListado.CategoriaEnUso, ref InformacionDelError, ID_Categoria);

                    if (SeEstaUsuandoLaCategoria.Count == 0)
                    {
                        if (CategoriasArticulos.Actualizar(ActualizarCategoria, ref InformacionDelError) != 0)
                        {
                            DialogResult = DialogResult.OK;
                            Close();
                        }
                        else if (InformacionDelError != string.Empty)
                        {
                            MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                    else
                    {
                        using (FrmInformacion FormInformacion = new FrmInformacion($"No se puede editar la categoria porque " +
                                                                                   $"se esta usando para algun pedido en este momento.", ClsColores.Blanco, 200, 300))
                        {
                            FormInformacion.ShowDialog();
                        }
                    }
                }
            }
            else
            {
                using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 300))
                {
                    FormInformacion.ShowDialog();
                }
            }
        }
        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            bool   DatosValidos         = true;
            string RegistroDeErrores    = string.Empty;
            int    AnchoFormInformacion = 100;

            txtNombreCategoria.Text = txtNombreCategoria.Text.Trim();

            if (txtNombreCategoria.Text.Length < 3)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Nombre' debe tener como minimo 3 caracteres.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (VerificarCategoriaRepetida(txtNombreCategoria.Text, ID_Categoria))
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El nombre de la categoria ya esta en uso.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (DatosValidos)
            {
                txtNombreCategoria.Text = txtNombreCategoria.Text.Substring(0, 1).ToUpper() + txtNombreCategoria.Text.Remove(0, 1).ToLower();

                string InformacionDelError = string.Empty;

                ClsCategoriasArticulos CategoriasArticulos = new ClsCategoriasArticulos();
                CategoriaArticulo      NuevaCategoria      = new CategoriaArticulo();

                NuevaCategoria.Nombre = txtNombreCategoria.Text;
                NuevaCategoria.ID_EstadoCategoriaArticulo = (int)ClsEstadosCategoriasArticulos.EEstadosCategoriasArticulos.Activo;

                if (rbnCocinaSi.Checked)
                {
                    NuevaCategoria.ParaCocina = (int)ClsCategoriasArticulos.EParaCocina.Si;
                }
                else
                {
                    NuevaCategoria.ParaCocina = (int)ClsCategoriasArticulos.EParaCocina.No;
                }

                DialogResult Confirmar = DialogResult.Cancel;

                Confirmar = MessageBox.Show($"¿Estas seguro que quieres crear la categoria '{NuevaCategoria.Nombre}' con esa " +
                                            $"seleccion de categoria para cocina (si/no)?", "Aviso", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

                if (Confirmar == DialogResult.OK)
                {
                    if (CategoriasArticulos.Crear(NuevaCategoria, ref InformacionDelError) != 0)
                    {
                        DialogResult = DialogResult.OK;
                        Close();
                    }
                    else if (InformacionDelError == string.Empty)
                    {
                        MessageBox.Show("Fallo al crear la categoria", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
            else
            {
                using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 300))
                {
                    FormInformacion.ShowDialog();
                }
            }
        }
Example #22
0
        private void BtnGuardarCambios_Click(object sender, EventArgs e)
        {
            bool   DatosValidos         = true;
            string RegistroDeErrores    = string.Empty;
            int    AnchoFormInformacion = 100;

            CategoriaArticulo CategoriaArticulo = null;

            txtNombreArticulo.Text = txtNombreArticulo.Text.Trim();
            txtDescripcion.Text    = txtDescripcion.Text.Trim();
            txtPrecio.Text         = txtPrecio.Text.Trim();

            if (txtNombreArticulo.Text.Length < 3)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El campo 'Nombre' debe tener como minimo 3 caracteres.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (txtPrecio.Text != string.Empty)
            {
                if (txtPrecio.Text.Substring(0, 1) == "," || txtPrecio.Text.Substring(txtPrecio.Text.Length - 1, 1) == "," || Convert.ToDouble(txtPrecio.Text) < 10)
                {
                    DatosValidos       = false;
                    RegistroDeErrores += "El campo 'Precio' debe ser mayor a $10 (verifique tambien que no tenga la " +
                                         "coma del centavo al principio o al final).\r\n\r\n";
                    AnchoFormInformacion += 50;
                }
            }

            if (txtPrecioDelivery.Text != string.Empty)
            {
                if (txtPrecioDelivery.Text.Substring(0, 1) == "," || txtPrecioDelivery.Text.Substring(txtPrecioDelivery.Text.Length - 1, 1) == "," || Convert.ToDouble(txtPrecioDelivery.Text) < 10)
                {
                    DatosValidos       = false;
                    RegistroDeErrores += "El campo 'Precio delivery' debe ser mayor a $10 (verifique tambien que no tenga la " +
                                         "coma del centavo al principio o al final).\r\n\r\n";
                    AnchoFormInformacion += 50;
                }
            }

            if (cmbCategoria.SelectedItem != null)
            {
                CategoriaArticulo = (CategoriaArticulo)cmbCategoria.SelectedItem;
            }
            else
            {
                DatosValidos          = false;
                RegistroDeErrores    += "Seleccione una categoria.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (VerificarArticuloRepetido(txtNombreArticulo.Text, ID_Articulo))
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El nombre del articulo ya se encuentra en uso.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (txtPrecio.Text == string.Empty && txtPrecioDelivery.Text == string.Empty)
            {
                DatosValidos          = false;
                RegistroDeErrores    += "El articulo debe tener un precio para carta o delivery.\r\n\r\n";
                AnchoFormInformacion += 50;
            }

            if (DatosValidos)
            {
                txtNombreArticulo.Text = txtNombreArticulo.Text.Substring(0, 1).ToUpper() + txtNombreArticulo.Text.Remove(0, 1).ToLower();

                if (txtDescripcion.Text != string.Empty)
                {
                    txtDescripcion.Text = txtDescripcion.Text.Substring(0, 1).ToUpper() + txtDescripcion.Text.Remove(0, 1).ToLower();
                }

                string InformacionDelError = string.Empty;

                ClsArticulos Articulo           = new ClsArticulos();
                Articulo     ActualizarArticulo = new Articulo();

                ActualizarArticulo.ID_Articulo = ID_Articulo;
                ActualizarArticulo.Nombre      = txtNombreArticulo.Text;
                ActualizarArticulo.Descripcion = txtDescripcion.Text;

                if (txtPrecio.Text == string.Empty)
                {
                    ActualizarArticulo.Precio = null;
                }
                else
                {
                    ActualizarArticulo.Precio = Math.Round(Convert.ToDouble(txtPrecio.Text), 2);
                }

                if (txtPrecioDelivery.Text == string.Empty)
                {
                    ActualizarArticulo.PrecioDelivery = null;
                }
                else
                {
                    ActualizarArticulo.PrecioDelivery = Math.Round(Convert.ToDouble(txtPrecioDelivery.Text), 2);
                }

                ActualizarArticulo.ID_EstadoArticulo    = (int)ClsEstadosArticulos.EEstadosArticulos.Activo;
                ActualizarArticulo.ID_CategoriaArticulo = CategoriaArticulo.ID_CategoriaArticulo;

                if (Articulo.Actualizar(ActualizarArticulo, ref InformacionDelError) != 0)
                {
                    DialogResult = DialogResult.OK;
                    Close();
                }
                else if (InformacionDelError != string.Empty)
                {
                    MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 400))
                {
                    FormInformacion.ShowDialog();
                }
            }
        }
Example #23
0
    protected void btnAgregar_Click(object sender, EventArgs e)
    {
        try
        {
            long codigoBarras = 1;

            if (txtCodigoBarras.Text.Trim() != string.Empty)
            {
                codigoBarras = Convert.ToInt64(txtCodigoBarras.Text.Trim());
            }

            string nombre = txtNombre.Text.Trim();

            if (string.IsNullOrEmpty(nombre))
            {
                throw new ExcepcionLogica("El Nombre del articulo no puede quedar vacío.");
            }

            double precio;

            try
            {
                precio = Convert.ToDouble(txtPrecio.Text.Trim());
            }
            catch
            {
                throw new ExcepcionPresentacion("El Precio no es válido.");
            }

            int stock;

            try
            {
                stock = Convert.ToInt32(txtStock.Text.Trim());
            }
            catch
            {
                throw new ExcepcionPresentacion("El Stock no es válido.");
            }

            string descripcion = txtDescripcion.Text.Trim();

            if (string.IsNullOrEmpty(descripcion))
            {
                throw new ExcepcionLogica("La descripcion del articulo no puede quedar vacía.");
            }

            string nombreCategoria = ddlCategorias.SelectedValue;

            if (nombreCategoria == "Ninguno")
            {
                throw new ExcepcionPresentacion("Debe seleccionar una categoria de la lista.");
            }

            bool buscarCategoria        = false; //busca categorias no eliminadas de manera logica
            CategoriaArticulo categoria = LogicaCategoriaArticulo.Buscar(nombreCategoria, buscarCategoria);

            string origenImagen = fuOrigenImagen.PostedFile.FileName; //saca la ruta de donde se copia la imagen del Fileupload

            string destinoImagen;

            if (origenImagen != string.Empty)
            {
                string nombreImagen = txtCodigoBarras.Text.Trim() + System.IO.Path.GetFileName(origenImagen);//sacamos el codigo del articulo y se lo agregamos al nombre de la imagen

                string extension = nombreImagen.Substring(nombreImagen.Length - 4, 4);

                if (extension.ToLower() != ".jpg" && extension.ToLower() != ".png" && extension.ToLower() != ".bmp" && extension.ToLower() != "jpeg")
                {
                    throw new ExcepcionPresentacion("Formato de imagen no válido, coloque un archivo con extension: .jpg , .png , .bmp  o .jpeg ");
                }

                destinoImagen = Server.MapPath("~/uploads/articulos/") + nombreImagen; // ruta de destino donde se copiara la imagen

                System.IO.File.Copy(origenImagen, destinoImagen, true);                //copia la imagen y reemplaza si existe una con el mismo nombre

                destinoImagen = "~/uploads/articulos/" + nombreImagen;                 //generamos una ruta corta para la base de datos
            }
            else
            {
                throw new ExcepcionPresentacion("Debe seleccionar una imagen para el Articulo.");
            }

            bool eliminado = false;

            Articulo articulo = new Articulo(codigoBarras, nombre, precio, stock, descripcion, destinoImagen, categoria, eliminado);

            buscar = true; // busca los articulos aunque este eliminados de manera logica
            Articulo buscarArticulo = LogicaArticulo.Buscar(codigoBarras, buscar);

            if (buscarArticulo == null)
            {
                LogicaArticulo.Agregar(articulo);
            }
            else
            {
                LogicaArticulo.Modificar(articulo);
            }

            LimpiarFormulario();

            Panel1.Visible       = true;
            lblMensaje.ForeColor = System.Drawing.Color.Green;
            lblMensaje.Text      = "¡Articulo" + (stock > 1 ? "s" : "") + " agregado" + (stock > 1 ? "s" : "") + " con éxito! con el código de barras: " + codigoBarras;
        }
        catch (ApplicationException ex)
        {
            Panel1.Visible       = true;
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! " + ex.Message;
        }

        catch
        {
            Panel1.Visible       = true;
            lblMensaje.ForeColor = System.Drawing.Color.Red;
            lblMensaje.Text      = "¡Error! No se pudo agregar el Articulo.";
        }
    }
    protected void btnAceptar_Click(object sender, EventArgs e)
    {
        switch (opcion)
        {
        case "Modificar":
            try
            {
                string nombre = txtNombre.Text.Trim();

                string descripcion = txtDescripcion.Text.Trim();

                bool eliminado = false;

                CategoriaArticulo categoria = new CategoriaArticulo(nombre, descripcion, eliminado);

                LogicaCategoriaArticulo.Modificar(categoria);

                AparecerDesaparecerBotonesClickAceptar();

                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Green;
                lblMensaje.Text      = "¡Categoria modificada con éxito!";
            }

            catch (ApplicationException ex)
            {
                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! " + ex.Message;
            }

            catch
            {
                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! No se pudo modificar la categoria.";
            }
            break;

        case "Eliminar":
            try
            {
                string nombre = txtNombre.Text.Trim();

                LogicaCategoriaArticulo.Eliminar(nombre);

                AparecerDesaparecerBotonesClickAceptar();

                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Green;
                lblMensaje.Text      = "¡Categoria eliminada con éxito!";
            }
            catch (ApplicationException ex)
            {
                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! " + ex.Message;
            }

            catch
            {
                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! No se pudo eliminar la categoria.";
            }
            break;
        }
    }
Example #25
0
        public static void Agregar(CategoriaArticulo categoria)
        {
            Validar(categoria);

            PersistenciaCategoriaArticulo.Agregar(categoria);
        }
Example #26
0
    protected void btnAceptar_Click(object sender, EventArgs e)
    {
        switch (opcion)
        {
        case "Modificar":
            try
            {
                long codigoBarras = Convert.ToInt64(txtCodigoBarras.Text.Trim());

                string nombre = txtNombre.Text.Trim();

                if (string.IsNullOrEmpty(nombre))
                {
                    throw new ExcepcionLogica("El Nombre del articulo no puede quedar vacío.");
                }

                double precio;

                try
                {
                    precio = Convert.ToDouble(txtPrecio.Text.Trim());
                }
                catch
                {
                    throw new ExcepcionPresentacion("El Precio no es válido.");
                }

                int stock;

                try
                {
                    stock = Convert.ToInt32(txtStock.Text.Trim());
                }
                catch
                {
                    throw new ExcepcionPresentacion("El Stock no es válido.");
                }

                string descripcion = txtDescripcion.Text.Trim();

                if (string.IsNullOrEmpty(descripcion))
                {
                    throw new ExcepcionLogica("La descripcion del articulo no puede quedar vacía.");
                }

                string nombreCategoria = ddlCategorias.SelectedValue;

                if (nombreCategoria == "Ninguno")
                {
                    throw new ExcepcionPresentacion("Debe seleccionar una categoria de la lista.");
                }

                bool buscarCategoria        = false;
                CategoriaArticulo categoria = LogicaCategoriaArticulo.Buscar(nombreCategoria, buscarCategoria);

                buscar = false;
                Articulo articuloImagen = LogicaArticulo.Buscar(codigoBarras, buscar);

                string origenImagen  = fuOrigenImagen.PostedFile.FileName;
                string destinoImagen = articuloImagen.Imagen;     //si no se proporciona una direccion de imagen queda la que tenia anteriormente

                if (origenImagen != string.Empty)
                {
                    string eliminarImagen = Server.MapPath(articuloImagen.Imagen);

                    if (System.IO.File.Exists(eliminarImagen) == true)
                    {
                        System.IO.File.Delete(eliminarImagen);
                    }

                    string nombreImagen = txtCodigoBarras.Text.Trim() + System.IO.Path.GetFileName(origenImagen);
                    destinoImagen = Server.MapPath("~/uploads/articulos/") + nombreImagen;

                    System.IO.File.Copy(origenImagen, destinoImagen, true);

                    destinoImagen = "~/uploads/articulos/" + nombreImagen;
                }

                bool eliminado = false;

                Articulo articulo = new Articulo(codigoBarras, nombre, precio, stock, descripcion, destinoImagen, categoria, eliminado);

                LogicaArticulo.Modificar(articulo);

                AparecerDesaparecerBotonesAceptar();

                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Green;
                lblMensaje.Text      = "¡Articulo modificado con éxito!";
            }

            catch (ApplicationException ex)
            {
                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! " + ex.Message;
            }

            catch
            {
                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! No se pudo modificar el Articulo.";
            }
            break;

        case "Eliminar":
            try
            {
                long codigoBarras = Convert.ToInt64(txtCodigoBarras.Text.Trim());

                string nombre = txtNombre.Text.Trim();

                bool     buscarArticulo = false;
                Articulo articuloImagen = LogicaArticulo.Buscar(codigoBarras, buscarArticulo);

                LogicaArticulo.Eliminar(codigoBarras);

                string eliminarImagen = Server.MapPath(articuloImagen.Imagen);

                if (System.IO.File.Exists(eliminarImagen) == true)
                {
                    System.IO.File.Delete(eliminarImagen);
                }

                AparecerDesaparecerBotonesAceptar();

                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Green;
                lblMensaje.Text      = "¡Articulo eliminado con éxito!";
            }
            catch (ApplicationException ex)
            {
                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! " + ex.Message;
            }

            catch
            {
                Panel1.Visible       = true;
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text      = "¡Error! No se pudo eliminar el Articulo.";
            }
            break;
        }
    }
        /// <summary>Carga los articulos activos/inactivos.</summary>
        private void CargarDGVArticulos(ClsArticulos.ETipoListado _TipoDeEstado)
        {
            if (FormularioCargado)
            {
                dgvEstadoArticulo.Rows.Clear();

                string NombreArticulo = string.Empty;

                int ID_CategoriaFiltro = 0;

                if (cmbCategoria.SelectedValue != null)
                {
                    CategoriaArticulo CategoriaSeleccionada = (CategoriaArticulo)cmbCategoria.SelectedItem;
                    ID_CategoriaFiltro = CategoriaSeleccionada.ID_CategoriaArticulo;
                }

                if (txtBuscarPorNombre.Text != TEXTO_VISUAL_COMBOBOX)
                {
                    NombreArticulo = txtBuscarPorNombre.Text;
                }

                string InformacionDelError = string.Empty;

                ClsArticulos Articulos = new ClsArticulos();

                List <Articulo> ListarArticulosActivos = Articulos.LeerListado(ClsArticulos.ETipoListado.Filtro, ref InformacionDelError, _TipoDeEstado, NombreArticulo, ID_CategoriaFiltro);

                if (ListarArticulosActivos != null)
                {
                    foreach (Articulo Elemento in ListarArticulosActivos)
                    {
                        int NumeroDeFila = dgvEstadoArticulo.Rows.Add();

                        dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.ID_Articulo].Value = Elemento.ID_Articulo;
                        dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Nombre].Value      = Elemento.Nombre;
                        dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Descripcion].Value = Elemento.Descripcion;
                        dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Categoria].Value   = Elemento.CategoriaArticulo.Nombre;

                        if (Elemento.Precio == null)
                        {
                            dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.PrecioCarta].Value = "NO TIENE";
                        }
                        else
                        {
                            dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.PrecioCarta].Value = Elemento.Precio;
                        }

                        if (Elemento.PrecioDelivery == null)
                        {
                            dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.PrecioDelivery].Value = "NO TIENE";
                        }
                        else
                        {
                            dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.PrecioDelivery].Value = Elemento.PrecioDelivery;
                        }

                        if (ArticulosDeCartaMarcados.Count > 0)
                        {
                            foreach (int ElementoSecundario in ArticulosDeCartaMarcados)
                            {
                                if (ElementoSecundario == Elemento.ID_Articulo)
                                {
                                    dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Seleccionar].Value = true;
                                    ClsColores.MarcarFilaDGV(dgvEstadoArticulo, NumeroDeFila, true);
                                    break;
                                }
                                else
                                {
                                    dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Seleccionar].Value = false;
                                    ClsColores.MarcarFilaDGV(dgvEstadoArticulo, NumeroDeFila, false);
                                }
                            }
                        }
                        else
                        {
                            dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Seleccionar].Value = false;
                            ClsColores.MarcarFilaDGV(dgvEstadoArticulo, NumeroDeFila, false);
                        }
                    }

                    UltimaFilaSeleccionada = -1;

                    dgvEstadoArticulo.Sort(dgvEstadoArticulo.Columns[(int)ENumColDGVEstadoArticulo.Categoria], ListSortDirection.Ascending);

                    dgvEstadoCategoria.ClearSelection();
                }
                else if (InformacionDelError == string.Empty)
                {
                    MessageBox.Show("Fallo al cargar los articulos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
Example #28
0
        public static void Modificar(CategoriaArticulo categoria)
        {
            Validar(categoria);

            PersistenciaCategoriaArticulo.Modificar(categoria);
        }