/// <summary> /// vista que toma el id de un registro y muestra los datos en un formulario /// </summary> /// <param name="iIdProducto">id del producto seleccionado</param> /// <returns>devuelve los datos del registro del objeto en una vista modal </returns> public ActionResult VisualizarProducto(int id) { Categoria CategoriaBus = new Categoria(); tblCat_Producto oProducto = ProductoBus.ObtenerProducto(id); ViewBag.cNombreCat = CategoriaBus.ObtenerNombreCategoria(oProducto.iIdCategoria); return(View(oProducto)); }
public ActionResult EditarProducto(int iIdProducto) { Categoria categoria = new Categoria(); tblCat_Producto oProducto = ProductoBus.ObtenerProducto(iIdProducto); List <ListaCategoriaDTO> _lstCategoria = categoria.CategoriaActiva(); ViewBag.ListaCategoria = new SelectList(_lstCategoria, nameof(ListaCategoriaDTO.iIdCategoria), nameof(ListaCategoriaDTO.cNombre)); return(View(oProducto)); }
/// <summary> /// Método para editar productos /// </summary> /// <param name="_objProducto">Objeto con los datos del producto</param> public void EditarProducto(tblCat_Producto _objProducto) { tblCat_Producto otblProducto = db.tblCat_Producto.FirstOrDefault(Cat => Cat.iIdProducto == _objProducto.iIdProducto); otblProducto.cNombre = _objProducto.cNombre; otblProducto.iIdCategoria = _objProducto.iIdCategoria; otblProducto.cNombre = _objProducto.cNombre; otblProducto.iCantidad = _objProducto.iCantidad; otblProducto.dPrecio = _objProducto.dPrecio; otblProducto.cDescripcion = _objProducto.cDescripcion; otblProducto.cImagen = "Foto"; otblProducto.lEstatus = true; otblProducto.dtFechaModificacion = DateTime.Now; db.Entry(otblProducto).State = EntityState.Modified; db.SaveChanges(); }
/// <summary> /// Método para desactivar productos /// </summary> /// <param name="_objPrododucto">Objeto con los datos del producto</param> public void DesactivarProducto(tblCat_Producto _objPrododucto) { tblCat_Producto otblProducto = db.tblCat_Producto.FirstOrDefault(Cat => Cat.iIdProducto == _objPrododucto.iIdProducto); if (otblProducto.lEstatus == true) { otblProducto.lEstatus = false; otblProducto.dfFechaBaja = DateTime.Now; } else { otblProducto.lEstatus = true; } db.Entry(otblProducto).State = EntityState.Modified; db.SaveChanges(); }
/// <summary> /// Método para realizar la compra de un producto /// </summary> /// <param name="oProducto">Objeto con los datos del producto</param> /// <param name="iIdCompra">ID de la compra</param> public void RealizarCompraDirecta(ProductosCompraDTO oProducto, int iIdCompra) { tbl_DetalleCompra _oDetalleCompra = new tbl_DetalleCompra() { iIdCompra = iIdCompra, iIdProducto = oProducto.iIdProducto, iCantidad = oProducto.iCantidadSeleccion }; db.Entry(_oDetalleCompra).State = EntityState.Added; tblCat_Producto _oProducto = db.tblCat_Producto.AsNoTracking().FirstOrDefault(p => p.iIdProducto == _oDetalleCompra.iIdProducto); _oProducto.iCantidad -= _oDetalleCompra.iCantidad; db.Entry(_oProducto).State = EntityState.Modified; db.SaveChanges(); }
/// <summary> /// Método para realizar la compra desde el carrito /// </summary> /// <param name="iIdCarrito">ID del carrito</param> /// <param name="iIdCompra">ID de la compra</param> public void RealizarCompraCarrito(int iIdCarrito, int iIdCompra) { List <ProductosCompraDTO> _lstProductos = ObtenerProductosCompra(iIdCarrito); foreach (var _producto in _lstProductos) { tbl_DetalleCompra _oDetalleCompra = new tbl_DetalleCompra(); _oDetalleCompra.iIdCompra = iIdCompra; _oDetalleCompra.iIdProducto = _producto.iIdProducto; _oDetalleCompra.iCantidad = _producto.iCantidadSeleccion; db.Entry(_oDetalleCompra).State = EntityState.Added; tblCat_Producto _oProducto = db.tblCat_Producto.AsNoTracking().FirstOrDefault(p => p.iIdProducto == _producto.iIdProducto); _oProducto.iCantidad -= _producto.iCantidadSeleccion; db.Entry(_oProducto).State = EntityState.Modified; } db.SaveChanges(); }
/// <summary> /// Método para registrar productos /// </summary> /// <param name="_objProducto">Objeto con los datos del producto</param> public int AgregaProducto(tblCat_Producto _objProducto) { tblCat_Producto otblProducto = new tblCat_Producto { iIdCategoria = _objProducto.iIdCategoria, cNombre = _objProducto.cNombre, iCantidad = _objProducto.iCantidad, dPrecio = _objProducto.dPrecio, cDescripcion = _objProducto.cDescripcion, cImagen = "1576172857_ImagenProductoDef", lEstatus = true, dtFechaAlta = DateTime.Now, dfFechaBaja = null, dtFechaModificacion = null }; db.tblCat_Producto.Add(otblProducto); db.SaveChanges(); return(otblProducto.iIdProducto); }
/// <summary> /// Método que lee los datos registrados en una plantilla de Excel y los registra en la BDD /// </summary> /// <param name="_cNombreArchivo">Nombre del archivo subido</param> /// <returns>una cadena de texto con un mensaje con el resultado de la operación</returns> public string ImportarProductosEnPlantilla(string _cNombreArchivo) { string cEstatus = "pendiente"; string cHome = AppDomain.CurrentDomain.BaseDirectory; string cRutaPlantilla = cHome + "Plantillas\\PlantillaSubida\\" + _cNombreArchivo; using (FileStream _oFileStream = new FileStream(cRutaPlantilla, FileMode.Open, FileAccess.Read)) { IWorkbook oLibro = new XSSFWorkbook(_oFileStream); ISheet oHoja = oLibro.GetSheetAt(0); for (int i = 1; i <= oHoja.LastRowNum; i++) { tblCat_Producto oProducto = new tblCat_Producto(); IRow oFilaDatos = oHoja.GetRow(i); for (int j = 0; j < oFilaDatos.LastCellNum; j++) { ICell oCeldaDatos = oFilaDatos.GetCell(j); switch (j) { case 0: oProducto.cNombre = oCeldaDatos.StringCellValue.Trim(); break; case 1: oProducto.cDescripcion = oCeldaDatos.StringCellValue.Trim(); break; case 2: oProducto.dPrecio = (decimal)oCeldaDatos.NumericCellValue; break; case 3: oProducto.iIdCategoria = ObtenerIdCategoria(oCeldaDatos.StringCellValue); break; case 4: bool lEstatusActivoProducto = true; string cDatoEstatusEnCelda = oCeldaDatos.StringCellValue; if (cDatoEstatusEnCelda.Equals("Activo")) { lEstatusActivoProducto = true; } else { lEstatusActivoProducto = false; } oProducto.lEstatus = lEstatusActivoProducto; break; case 5: oProducto.iCantidad = Convert.ToInt32(oCeldaDatos.NumericCellValue); break; default: break; } } oProducto.cImagen = "Foto"; oProducto.dtFechaAlta = DateTime.Now; oProducto.dtFechaModificacion = DateTime.Now; try { db.tblCat_Producto.Add(oProducto); db.SaveChanges(); cEstatus = "Registro exitoso"; } catch (Exception e) { cEstatus = "Error: " + e.Message; } } } return(cEstatus); }
/// <summary> /// Método que Obtiene los datos de un producto de acuerdo a su identificador para mostrar los detalles /// </summary> /// <param name="_iIdProducto">la id del producto a localizar </param> /// <returns>regresa un objeto con los datos del producto</returns> public tblCat_Producto ObtenerProducto(int _iIdProducto) { tblCat_Producto oProducto = db.tblCat_Producto.Where(p => p.iIdProducto == _iIdProducto).FirstOrDefault(); return(oProducto); }