示例#1
0
        public ActionResult Editar(string idProducto)
        {
            ProductoViewModel     productoViewModel = new ProductoViewModel();
            List <GrupoViewModel> lstgrupoViewModel = new List <GrupoViewModel>();
            List <LineaViewModel> lstlineaViewModel = new List <LineaViewModel>();

            lstgrupoViewModel = grupoBL.GetAllGrupos().Select(x => new GrupoViewModel()
            {
                CodGrup = x.CodGrup,
                NomGrup = x.NomGrup
            }).ToList();

            lstlineaViewModel = lineaBL.GetAllLineas().Select(x => new LineaViewModel()
            {
                CodLin = x.CodLin,
                NomLin = x.NomLin
            }).ToList();

            ProductoBO productoBO = productoBL.GetProductoById(new ProductoBO()
            {
                CodProd = idProducto
            });

            productoViewModel.CodProd           = productoBO.CodProd;
            productoViewModel.NomProd           = productoBO.NomProd;
            productoViewModel.CodGrup           = productoBO.CodGrup;
            productoViewModel.CodLin            = productoBO.CodLin;
            productoViewModel.Marca             = productoBO.Marca;
            productoViewModel.CosPromC          = productoBO.CosPromC;
            productoViewModel.PrecioVta         = productoBO.PrecioVta;
            productoViewModel.lstgrupoViewModel = lstgrupoViewModel;
            productoViewModel.lstlineaViewModel = lstlineaViewModel;
            return(View(productoViewModel));
        }
示例#2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            oProductoBO  = new ProductoBO();
            oProductoDAO = new ProductoDAO();

            FacadeMth("Listar");
        }
示例#3
0
        public ProductoBO GetProductoById(ProductoBO producto)
        {
            ProductoBO productoBO = new ProductoBO();

            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                SqlCommand cmd = new SqlCommand("uspGetByIdProducto", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@COD_PROD", SqlDbType.VarChar, 25, "COD_PROD").Value = producto.CodProd;
                connection.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    productoBO.CodProd   = reader["COD_PROD"].ToString();
                    productoBO.NomProd   = reader["NOM_PROD"].ToString();
                    productoBO.CodGrup   = reader["COD_GRUP"].ToString();
                    productoBO.CodLin    = reader["COD_LIN"].ToString();
                    productoBO.Marca     = reader["MARCA"].ToString();
                    productoBO.CosPromC  = Convert.ToDecimal(reader["COS_PROM_C"]);
                    productoBO.PrecioVta = Convert.ToDecimal(reader["PRECIO_VTA"]);
                }
                connection.Close();
                return(productoBO);
            }
        }
示例#4
0
        public ActionResult ReporteProducto()
        {
            #region Datos dummy
            string            query     = ("SELECT IdProducto,NombreProd,DescripcionProd,PrecioProd,DescuentoProd,CantidadDisponibleProd,CantidadMinimaProd,IdTipoProducto1,IdProveedor1,FechaRegistroProd FROM Producto WHERE StatusProd=1");
            var               result    = Con.TablaConnsulta(query);
            List <ProductoBO> Productos = new List <ProductoBO>();
            foreach (DataRow Pro in result.Rows)
            {
                var ProductoBO = new ProductoBO();
                ProductoBO.IdProducto             = Convert.ToInt32(Pro[0].ToString());
                ProductoBO.NombreProd             = Pro[1].ToString();
                ProductoBO.DescripcionProd        = Pro[2].ToString();
                ProductoBO.PrecioProd             = Convert.ToDouble(Pro[3].ToString());
                ProductoBO.DescuentoProd          = Convert.ToDouble(Pro[4].ToString());
                ProductoBO.CantidadDisponibleProd = Convert.ToInt32(Pro[5].ToString());
                ProductoBO.CantidadMinimaProd     = Convert.ToInt32(Pro[6].ToString());
                ProductoBO.IdTipoProducto1        = Convert.ToInt32(Pro[7].ToString());
                ProductoBO.IdProveedor1           = Convert.ToInt32(Pro[8].ToString());
                ProductoBO.FechaRegistroProd      = Convert.ToDateTime(Pro[9].ToString());
                Productos.Add(ProductoBO);
            }
            #endregion Datos dummy
            string       DirRepor   = "~/Reportes/Reportes/";
            string       urlArchivo = string.Format("{0}.{1}", "ProductoRepor", "rdlc");
            string       FullReport = string.Format("{0}{1}", this.HttpContext.Server.MapPath(DirRepor), urlArchivo);
            ReportViewer reporte    = new ReportViewer();
            reporte.Reset();
            reporte.LocalReport.ReportPath = FullReport;
            ReportDataSource DatosDS = new ReportDataSource("DSProducto", Productos);
            reporte.LocalReport.DataSources.Add(DatosDS);
            reporte.LocalReport.Refresh();
            byte[] file = reporte.LocalReport.Render("PDf");

            return(File(new MemoryStream(file).ToArray(), System.Net.Mime.MediaTypeNames.Application.Octet, string.Format("{0}{1}", "Reporte_DetalleVenta.", "PDF")));
        }
示例#5
0
        public ActionResult InsertProducto(ProductoBO dto)
        {
            NegProducto obj = new NegProducto();

            obj.Insert(dto);
            return(RedirectToAction("Listar"));
        }
示例#6
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            Producto productoAEliminar = (from x in Productos
                                          where x.IdProducto == cboProductos.SelectedValue.ToString()
                                          select x).SingleOrDefault();
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("¿Estás seguro de que desea eliminar el siguiente producto:");
            sb.AppendFormat("{0}: {1} - ({2}), {3}: {4}", "Producto", productoAEliminar.Nombre, productoAEliminar.Marca,
                            "Proveedor", productoAEliminar.Proveedor);
            DialogResult respuesta = MessageBox.Show(this, sb.ToString(), "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

            if (respuesta == DialogResult.Yes)
            {
                try
                {
                    ProductoBO.Eliminar(productoAEliminar.IdProducto, Sesion.UsuarioActual.UserName);
                    MessageBox.Show(this, "Producto eliminado satisfactoriamente", "Eliminar producto", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    CargarProductos();
                }
                catch (Exception excepcion)
                {
                    MessageBox.Show(excepcion.Message);
                }
                finally
                {
                    productoAEliminar = null;
                    sb = null;
                }
            }
        }
示例#7
0
        public ActionResult Update(ProductoBO dto)
        {
            NegProducto obj = new NegProducto();

            obj.Actualizar(dto);
            return(RedirectToAction("Listar"));
        }
示例#8
0
 private void comboProducto_SelectedValueChanged(object sender, EventArgs e)
 {
     if (sender == comboProducto)
     {
         Producto productoSeleccionado = ProductoBO.BuscarPorId(((ComboBox)sender).SelectedValue.ToString());
         if (productoSeleccionado.Cantidad == 0)
         {
             MessageBox.Show(
                 string.Format("El producto: Código: {0} Nombre: {1} .\nNo tiene existencias en el almacen", productoSeleccionado.IdProducto, productoSeleccionado.Nombre)
                 );
             nudCantidad.Enabled = false;
         }
         else if (productoSeleccionado.Cantidad <= 10)
         {
             MessageBox.Show(
                 string.Format(@"Por favor comunicarse con el proveedor del producto de Código: {0} \nNombre: {1} ya que se están agotando las existencias. Quedan {2} existencias.", productoSeleccionado.IdProducto, productoSeleccionado.Nombre, productoSeleccionado.Cantidad)
                 );
             nudCantidad.Enabled = true;
         }
         else
         {
             nudCantidad.Enabled = true;
         }
         lblPrecio.Text      = productoSeleccionado.PrecioVenta.ToString();
         nudCantidad.Maximum = productoSeleccionado.Cantidad;
     }
 }
示例#9
0
        public ActionResult Update(int ProductoId)
        {
            NegProducto obj = new NegProducto();
            ProductoBO  dto = obj.Listar().FirstOrDefault(a => a.COD_PRODUCTO == ProductoId);

            return(View("update", dto));
        }
示例#10
0
        public List <ProductoBO> GetAllProductos()
        {
            List <ProductoBO> lstProducto = new List <ProductoBO>();

            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                SqlCommand cmd = new SqlCommand("uspGetAllProductos", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                connection.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    ProductoBO productoBO = new ProductoBO();
                    productoBO.CodProd   = reader["COD_PROD"].ToString();
                    productoBO.NomProd   = reader["NOM_PROD"].ToString();
                    productoBO.CodGrup   = reader["COD_GRUP"].ToString();
                    productoBO.CodLin    = reader["COD_LIN"].ToString();
                    productoBO.Marca     = reader["MARCA"].ToString();
                    productoBO.CosPromC  = Convert.ToDecimal(reader["COS_PROM_C"]);
                    productoBO.PrecioVta = Convert.ToDecimal(reader["PRECIO_VTA"]);
                    lstProducto.Add(productoBO);
                }
                connection.Close();
                return(lstProducto);
            }
        }
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                //Guardo los datos del producto que tenga el id que concuerde
                //con el seleccionado en el comboBox
                Producto productoAProcesar = (from x in Productos
                                              where x.IdProducto == cboProductos.SelectedValue.ToString()
                                              select x).SingleOrDefault();

                if (ActualizarExistencias) //compruebo si está en el modo de actualizar existencias
                {
                    StringBuilder mensaje = new StringBuilder();
                    mensaje.AppendFormat(@"¿Estás seguro de que desea actualizar la cantidad en existencia del producto: {0}?\n
                                       Existencia actual: ({1}), Nueva existencia: ({2})", productoAProcesar.Nombre, productoAProcesar.Cantidad, nudExistencia.Value.ToString());

                    //mostrar un cuadro de diálogo para la confirmación
                    DialogResult resultado = MessageBox.Show(this, mensaje.ToString(), "Aviso",
                                                             MessageBoxButtons.YesNo, MessageBoxIcon.Question,
                                                             MessageBoxDefaultButton.Button2);

                    if (resultado == DialogResult.Yes) //Sí se seleccionó que SÍ entonces...
                    {
                        ProductoBO.ActualizarExistencia(cboProductos.SelectedValue.ToString(), (int)nudExistencia.Value);
                        MessageBox.Show("Hecho");
                    }
                }
                else
                {
                    StringBuilder mensaje = new StringBuilder();
                    mensaje.AppendFormat(@"¿Estás seguro de que desea agregar a las existencias del producto: {0}?\n
                                       Existencia actual: ({1}), Nueva existencia: ({2})", productoAProcesar.Nombre, productoAProcesar.Cantidad, (productoAProcesar.Cantidad + nudExistencia.Value).ToString());

                    //Mostrar el cuadro de diálogo con la confirmación
                    DialogResult resultado = MessageBox.Show(this, mensaje.ToString(), "Aviso",
                                                             MessageBoxButtons.YesNo, MessageBoxIcon.Question,
                                                             MessageBoxDefaultButton.Button2);


                    if (resultado == DialogResult.Yes) //Si se seleccionó que sí
                    {
                        ProductoBO.AgregarExistencias(cboProductos.SelectedValue.ToString(), (int)nudExistencia.Value, Sesion.UsuarioActual.UserName);

                        MessageBox.Show("Hecho");

                        this.Dispose();
                    }
                }

                //CargarProductos();
                //cboProductos_SelectionChangeCommitted(null, null);
                //nudExistencia.Value = 0M;
            }
            catch (Exception excepcion)
            {
                MessageBox.Show(excepcion.Message);
            }
        }
示例#12
0
 void ActualizarComboBox()
 {
     comboProducto.DataSource = null;
     //Llenando el comboBox con todos los productos
     comboProducto.ValueMember   = "IdProducto";
     comboProducto.DisplayMember = "Nombre";
     ListaProductos           = ProductoBO.DevolverTodos();
     comboProducto.DataSource = ListaProductos;
 }
示例#13
0
        public int EliminarProducto(ProductoBO obj)
        {
            string     sql  = "DELETE Producto WHERE Id = @Id";
            SqlCommand cmd3 = new SqlCommand(sql, conn);

            cmd3.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int)).Value = obj.Id;

            return(Ejecutarsql(cmd3));
        }
示例#14
0
 void CargarProductos()
 {
     cboProductos.DataSource = null;
     cboProductos.Items.Clear();
     Productos = ProductoBO.DevolverTodos();
     cboProductos.DataSource    = Productos;
     cboProductos.DisplayMember = "Nombre";
     cboProductos.ValueMember   = "IdProducto";
 }
示例#15
0
        public ActionResult EliminarProducto(string idProducto)
        {
            ProductoBO productoBE = new ProductoBO
            {
                CodProd = idProducto
            };

            productoBL.DeleteProducto(productoBE);
            return(RedirectToAction("Listado"));
        }
 void CargarProductos()
 {
     Productos = null;
     cboProductos.DataSource = null;
     Productos = new List <Producto>();
     Productos = ProductoBO.DevolverTodos();
     cboProductos.DataSource    = Productos;
     cboProductos.DisplayMember = "Nombre";
     cboProductos.ValueMember   = "IdProducto";
 }
 private void gridProductos_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (!(e.RowIndex == -1))
     {
         string   a = gridProductos.Rows[e.RowIndex].Cells[0].Value.ToString();
         Producto p = ProductoBO.BuscarPorId(a);
         frmCrearEditarProducto fcep = new frmCrearEditarProducto(p);
         fcep.ShowDialog(this);
     }
 }
示例#18
0
        public void Agregar()
        {
            ProductoBO oProd = InterfaceToData();

            if (oProd.Id == 0)
            {
                oProductoDAO.AgregarProducto(oProd);
            }

            FacadeMth("Limpia");
        }
示例#19
0
        public void Modificar()
        {
            ProductoBO oprod = InterfaceToData();

            if (oprod.Id > 0)
            {
                oProductoDAO.ActualizarProducto(oprod);
            }

            FacadeMth("Limpia");
        }
示例#20
0
        public void Elimina()
        {
            ProductoBO oprod = InterfaceToData();

            if (oprod.Id > 0)
            {
                oProductoDAO.EliminarProducto(oprod);
            }

            FacadeMth("Listar");
        }
        private void frmConsultarProductos_Load(object sender, EventArgs e)
        {
            radioId.CheckedChanged        += new EventHandler(Comprobar);
            radioNombre.CheckedChanged    += new EventHandler(Comprobar);
            radioProveedor.CheckedChanged += new EventHandler(Comprobar);
            radioId.Checked = true;
            var lista = ProductoBO.DevolverTodos();

            ListaProductos = (from x in lista
                              orderby x.IdProducto, x.Nombre
                              select x).ToList();
        }
        //
        // Para crear un producto nuevo
        //
        void CrearProducto()
        {
            pro              = new Producto();
            pro.Nombre       = txtNombreProducto.Text;
            pro.PrecioCompra = Convert.ToDecimal(nudPrecioCompra.Value);
            pro.PrecioVenta  = Convert.ToDecimal(nudPrecioVenta.Value);
            pro.Categoria    = (Categoria)cboCategoria.SelectedItem;
            pro.Proveedor    = (Proveedor)cboProveedores.SelectedItem;
            pro.UnidadMedida = (UnidadMedida)cboUnidadMedida.SelectedItem;
            pro.Cantidad     = (int)nudCantidad.Value;
            pro.SetUsuarioResponsable(Sesion.UsuarioActual);
            pro.Foto            = NombreFoto;
            pro.Descripcion     = txtDescripcion.Text;
            pro.CantidadMayoreo = 0; //(int)nudCantidadMayoreo.Value;
            pro.Marca           = (Marca)cboMarca.SelectedItem;

            // Para comprobar si esta en el modo de editar un producto
            if (_modoEditar)
            {
                pro.IdProducto = txtId.Text;
                ProductoBO.Actualizar(pro);
                if (File.Exists(pbFotoProducto.ImageLocation))
                {
                    File.Copy(pbFotoProducto.ImageLocation, DirectorioFotos + @"\" + NombreFoto);
                }
            }
            else
            {
                if (chkGenerarId.Checked) //si el checkbox de generar id está seleccionado
                {
                    GenerarId();          //Hacer uno, en caso contrario se usa el del txtIdProducto
                }

                pro.IdProducto = txtId.Text;

                //Le asigno a resultado lo que devuelve el método crear
                bool resultado = ProductoBO.Crear(pro);


                if (resultado)// si se creó==true, sino false
                {
                    MessageBox.Show("Creado");
                    if (pbFotoProducto.Image != null)
                    {
                        File.Copy(pbFotoProducto.ImageLocation, DirectorioFotos + @"\" + NombreFoto);
                    }
                }
                else
                {
                    MessageBox.Show("No se pudo crear");
                }
            }
        }
        private void frmCambiarCantidadProducto_Load(object sender, EventArgs e)
        {
            producto = ProductoBO.BuscarPorId(idProducto);

            lblNombreProducto.Text = producto.Nombre;

            txtCantidadAlmacen.Text = producto.Cantidad.ToString();

            txtCantidadActual.Text = cantidadActual.ToString();

            nudNuevaCantidad.Maximum = producto.Cantidad;
        }
示例#24
0
        public int ActualizarProducto(ProductoBO obj)
        {
            string     sql  = "UPDATE Producto SET Nombre = @Nombre,Color = @Color,Contenido = @Contenido,Precio = @Precio,Descripcion = @Descripcion where Id = @Id";
            SqlCommand cmd2 = new SqlCommand(sql, conn);

            cmd2.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int)).Value              = obj.Id;
            cmd2.Parameters.Add(new SqlParameter("@Nombre", SqlDbType.VarChar)).Value      = obj.Nombre;
            cmd2.Parameters.Add(new SqlParameter("@Color", SqlDbType.VarChar)).Value       = obj.Color;
            cmd2.Parameters.Add(new SqlParameter("@Contenido", SqlDbType.VarChar)).Value   = obj.Cantidad;
            cmd2.Parameters.Add(new SqlParameter("@Precio", SqlDbType.Decimal)).Value      = obj.Precio;
            cmd2.Parameters.Add(new SqlParameter("@Descripcion", SqlDbType.VarChar)).Value = obj.Descripcion;

            return(Ejecutarsql(cmd2));
        }
示例#25
0
        public bool DeleteProducto(ProductoBO producto)
        {
            bool boolEliminado;

            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                SqlCommand cmd = new SqlCommand("uspDeleteProducto", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@COD_PROD", SqlDbType.VarChar).Value = producto.CodProd;
                connection.Open();
                boolEliminado = cmd.ExecuteNonQuery() != 0;
                connection.Close();
                return(boolEliminado);
            }
        }
示例#26
0
        public ActionResult Guardar(ProductoViewModel viewModel)
        {
            ProductoBO productoBE = new ProductoBO()
            {
                CodProd   = viewModel.CodProd,
                NomProd   = viewModel.NomProd,
                CodGrup   = viewModel.CodGrup,
                CodLin    = viewModel.CodLin,
                Marca     = viewModel.Marca,
                CosPromC  = viewModel.CosPromC,
                PrecioVta = viewModel.PrecioVta
            };

            ViewBag.message = productoBL.InsertProducto(productoBE) ? "OK" : "";
            return(RedirectToAction("Listado"));
        }
示例#27
0
        void CargarProductos()
        {
            foreach (DetalleFactura detalles in Factura.Detalles)
            {
                string nombreProducto = (ProductoBO.BuscarPorId(detalles.IdProducto).Nombre);

                fseleccionar_ProductoSeleccionado(detalles.IdProducto, detalles.Cantidad);

                //dgvLineaCompra.Rows.Add(
                //    null,
                //    detalles.IdProducto,
                //    nombreProducto,
                //    detalles.PrecioUnidad,
                //    detalles.Cantidad,
                //    detalles.Cantidad * detalles.PrecioUnidad
                //    );
            }
        }
示例#28
0
        public int AgregarProducto(ProductoBO obj)
        {
            string     sql  = "INSERT INTO Producto(Nombre,Color,Contenido,Precio,Descripcion) values(@Nombre,@Color,@Contenido,@Precio,@Descripcion)";
            SqlCommand cmd1 = new SqlCommand(sql, conn);

            cmd1.Parameters.Add(new SqlParameter("@Nombre", SqlDbType.VarChar));
            cmd1.Parameters.Add(new SqlParameter("@Color", SqlDbType.VarChar));
            cmd1.Parameters.Add(new SqlParameter("@Contenido", SqlDbType.VarChar));
            cmd1.Parameters.Add(new SqlParameter("@Precio", SqlDbType.Decimal));
            cmd1.Parameters.Add(new SqlParameter("@Descripcion", SqlDbType.VarChar));

            cmd1.Parameters["@Nombre"].Value      = obj.Nombre;
            cmd1.Parameters["@Color"].Value       = obj.Color;
            cmd1.Parameters["@Contenido"].Value   = obj.Cantidad;
            cmd1.Parameters["@Precio"].Value      = obj.Precio;
            cmd1.Parameters["@Descripcion"].Value = obj.Descripcion;

            return(Ejecutarsql(cmd1));
        }
示例#29
0
        protected void Page_Load(object sender, EventArgs e)
        {
            oProductoBO  = new ProductoBO();
            oProductoDAO = new ProductoDAO();

            if (Session["dtProductosEdit"] != null && !IsPostBack)
            {
                dsProductos.dtProductoDataTable dt = (dsProductos.dtProductoDataTable)Session["dtProductosEdit"];
                foreach (DataRow dr in dt.Rows)
                {
                    txtId.Value          = dr["Código"].ToString();
                    txtNombreP.Text      = dr["Nombre"].ToString();
                    txtColor.Text        = dr["Color"].ToString();
                    txtContenido.Text    = dr["Contenido"].ToString();
                    txtPrecio.Text       = dr["Precio"].ToString();
                    txtDescripcionP.Text = dr["Descripción"].ToString();
                }
            }
        }
示例#30
0
        public bool UpdateProducto(ProductoBO producto)
        {
            bool boolActualizado;

            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                SqlCommand cmd = new SqlCommand("uspUpdateProducto", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@COD_PROD", SqlDbType.VarChar).Value = producto.CodProd;
                cmd.Parameters.Add("@NOM_PROD", SqlDbType.VarChar).Value = producto.NomProd;
                cmd.Parameters.Add("@COD_GRUP", SqlDbType.Char).Value    = producto.CodGrup;
                cmd.Parameters.Add("@COD_LIN", SqlDbType.Char).Value     = producto.CodLin;
                cmd.Parameters.Add("@MARCA", SqlDbType.VarChar).Value    = producto.Marca;
                cmd.Parameters.Add("@COS_PROM_C", SqlDbType.Money).Value = producto.CosPromC;
                cmd.Parameters.Add("@PRECIO_VTA", SqlDbType.Money).Value = producto.PrecioVta;
                connection.Open();
                boolActualizado = cmd.ExecuteNonQuery() != 0;
                connection.Close();
                return(boolActualizado);
            }
        }