private void grvPrincipal_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (tipo == "Administrador") { if (e.ColumnIndex == 5) { int idprod = int.Parse("" + grvPrincipal.Rows[e.RowIndex].Cells[0].Value); new Editar(idprod).Show(); this.Hide(); } if (e.ColumnIndex == 6) { new DAOProducto().delete((int)grvPrincipal.Rows[e.RowIndex].Cells[0].Value); actualizarTabla(); } } else if (tipo == "Cliente") { if (e.ColumnIndex == 5) { int idpro = int.Parse("" + grvPrincipal.Rows[e.RowIndex].Cells[0].Value); String nom = "" + grvPrincipal.Rows[e.RowIndex].Cells[1].Value; Decimal precio = Decimal.Parse("" + grvPrincipal.Rows[e.RowIndex].Cells[2].Value); Carritos car = new Carritos(idusuario, idusuario, nom); DetalleProducto det = new DetalleProducto(idpro, precio, 1); new DAOCarrito().agregar(car); new DaoDetalleProducto().agregar(det, nom, idusuario); } } }
private void coloresComboBox_SelectionChangeCommitted(object sender, EventArgs e) { DetalleProducto detalleSeleccionado = coloresComboBox.SelectedItem as DetalleProducto; existenciasTextBox.Text = detalleSeleccionado.Existencias.ToString(); cantidadNumericUpDown.Maximum = detalleSeleccionado.Existencias; }
public static void Insert(DetalleProducto det, SqlConnection cn, SqlTransaction tran) { Acceso ac = new Acceso(); //SqlConnection conexion = new SqlConnection(ac.getCadenaConexion()); SqlCommand cmd = new SqlCommand("Insert into DetalleProducto (idProducto, idProductoDetalle, cantidad) VALUES (@idprodpadre,@idprod,@cantida)", cn); cmd.Parameters.AddWithValue("@idprodpadre", det.idProductoPadre); cmd.Parameters.AddWithValue("@idprod", det.idProducto); cmd.Parameters.AddWithValue("@cantida", det.cantidad); try { cmd.Connection = cn; cmd.Transaction = tran; cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); } catch (ArgumentException ex) { throw new ApplicationException(ex.Message); } catch (SqlException ex) { throw new ApplicationException("Error en BD: " + ex.Message); } }
public int InsertarDetalleProducto(DetalleProducto detalleProducto) { SqlCommand cmd = new SqlCommand("_spInsertarDetalleProducto"); try { cmd = _gestorDaoSql.ObtenerComandoSp(cmd); cmd.Parameters.AddWithValue("@prmdcmpreciocosto", detalleProducto.PrecioCosto); cmd.Parameters.AddWithValue("@prmdcmprecioventa", detalleProducto.PrecioVenta); cmd.Parameters.AddWithValue("@prmintstock", detalleProducto.Stock); cmd.Parameters.Add(new SqlParameter("@iddetalleproducto", DbType.Int32) { Direction = ParameterDirection.ReturnValue }); cmd.ExecuteNonQuery(); int idDetalleProducto = Convert.ToInt32(cmd.Parameters["@iddetalleproducto"].Value); return(idDetalleProducto); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> Edit(int id, [Bind("DetalleProductoID,Descripcion,Talla,Color,PesoKg,Marca,Modelo,productoID")] DetalleProducto detalleProducto) { if (id != detalleProducto.productoID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(detalleProducto); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DetalleProductoExists(detalleProducto.DetalleProductoID)) { return(NotFound()); } else { throw; } } return(RedirectToAction("IndexVendedor", "Productos")); } return(View(detalleProducto)); }
public Responce updateProduct(String database, DetalleProducto producto) { Responce respuesta = new Responce(); using (IDbConnection db = new SqlConnection(ConfigurationManager.AppSettings[database].ToString())) { DynamicParameters parameter = new DynamicParameters(); parameter.Add("@idProductoEcommerce", producto.idProductoEcommerce); parameter.Add("@producto", producto.producto); parameter.Add("@descripcion", producto.descripcion); parameter.Add("@unidadVenta", producto.unidadVenta); parameter.Add("@precioVenta", producto.precioVenta); parameter.Add("@idCategoriaEcommerce", producto.idCategoriaEcommerce); parameter.Add("@idMarcaEcommerce", producto.idMarcaEcommerce); parameter.Add("@identificador", producto.identificador); try { respuesta = db.QuerySingle <Responce>("BC_SP_CREA_EDITAR_PRODUCTO_ECOMMERCE_ADMIN", parameter, commandType: CommandType.StoredProcedure); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } return(respuesta); }
private List <DetalleProducto> detalleProductos(int idproducto) { List <DetalleProducto> detalles = new List <DetalleProducto>(); using (SqlConnection conexion = new SqlConnection(Properties.Settings.Default.cadenaConexion)) { string cadena_sql = "sp_detalleproductos"; SqlCommand comando = new SqlCommand(cadena_sql, conexion) { CommandType = CommandType.StoredProcedure }; conexion.Open(); comando.Parameters.AddWithValue("@id", idproducto); SqlDataReader lector = comando.ExecuteReader(); if (lector.HasRows) { while (lector.Read()) { DetalleProducto dp = new DetalleProducto( (int)lector["idProductoDetalle"], (string)lector["color"], (double)lector["talla"], (int)lector["existencia"] ); detalles.Add(dp); } } } return(detalles); }
public ActionResult DeleteConfirmed(int id) { DetalleProducto detalleProducto = db.DetalleProducto.Find(id); db.DetalleProducto.Remove(detalleProducto); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult EditarProducto(DetalleProducto d) { try { return(Json("todo bien", JsonRequestBehavior.AllowGet)); } catch (Exception ex) { throw ex; } }
#pragma warning disable CS0246 // El nombre del tipo o del espacio de nombres 'DetalleProducto' no se encontró (¿falta una directiva using o una referencia de ensamblado?) public ActionResult Edit([Bind(Include = "idDetalleProducto,Talla,CantidadStock,Producto_idProducto")] DetalleProducto detalleProducto) #pragma warning restore CS0246 // El nombre del tipo o del espacio de nombres 'DetalleProducto' no se encontró (¿falta una directiva using o una referencia de ensamblado?) { if (ModelState.IsValid) { db.Entry(detalleProducto).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Producto_idProducto = new SelectList(db.Producto, "idProducto", "Foto", detalleProducto.Producto_idProducto); return(View(detalleProducto)); }
public ActionResult EditarProducto(DetalleProducto detalleProducto) { try { productDAO = new ProductDAO(); string selectedDB = "sucursal" + Session["defaultDB"]; return(Json(productDAO.updateProduct(selectedDB, detalleProducto), JsonRequestBehavior.AllowGet)); } catch (Exception ex) { throw ex; } }
// GET: DetalleProductoes/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DetalleProducto detalleProducto = db.DetalleProducto.Find(id); if (detalleProducto == null) { return(HttpNotFound()); } return(View(detalleProducto)); }
public Producto BuscarProductoID(int id) { SqlCommand cmd = new SqlCommand("_spBuscarProductoID"); Producto producto = null; Categoria categoria = null; DetalleProducto detalleProducto = null; List <SqlParameter> parameters = new List <SqlParameter>() { new SqlParameter("@prmintIdProducto", id) }; try { var data = _gestorDaoSql.EjecutarComandoSp(cmd, parameters); if (data.Read()) { producto = new Producto { IdProducto = Convert.ToInt32(data["IdProducto"]), Nombre = data["Nombre"].ToString(), Descripcion = data["Descripcion"].ToString() }; categoria = new Categoria { IdCategoria = Convert.ToInt32(data["Idcategoria"]), Nombre = data["Nombre"].ToString() }; detalleProducto = new DetalleProducto { IdDetalleProducto = Convert.ToInt32(data["IdDetalleProducto"]), PrecioCosto = Convert.ToDecimal(data["PrecioCosto"]), PrecioVenta = Convert.ToDecimal(data["PrecioVenta"]), Stock = Convert.ToInt32(data["Stock"]) }; producto.Categoria = categoria; producto.DetalleProducto = detalleProducto; } data.Close(); return(producto); } catch (Exception x) { throw x; } }
// GET: DetalleProductoes/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DetalleProducto detalleProducto = db.DetalleProducto.Find(id); if (detalleProducto == null) { return(HttpNotFound()); } ViewBag.Producto_idProducto = new SelectList(db.Producto, "idProducto", "nombreProducto", detalleProducto.Producto_idProducto); return(View(detalleProducto)); }
public async Task <IActionResult> Create([Bind("DetalleProductoID,Descripcion,Talla,Color,PesoKg,Marca,Modelo,productoID")] DetalleProducto detalleProducto) { if (ModelState.IsValid) { //detalleProducto.productoID = _context.Producto.Last().ProductoID; var user = await _userManager.GetUserAsync(User); var vendedor = _context.DetalleVendedor.Single(d => d.tiendaOnlineUser == user); detalleProducto.producto = _context.Producto.Last(p => p.detalleVendedorID == vendedor.DetalleVendedorID); _context.Add(detalleProducto); await _context.SaveChangesAsync(); return(RedirectToAction("IndexVendedor", "Productos")); } return(View(detalleProducto)); }
public static bool SubirImagen(DetalleProducto detalleproducto) { if (detalleproducto.ImagenFile != null) { var folder = "~/Content/ImagenesProductos"; var file = string.Format("{0}_{1}.jpg", detalleproducto.Id, detalleproducto.ProductoId); var respuesta = UploadPhoto(detalleproducto.ImagenFile, folder, file); if (respuesta) { var pic = string.Format("{0}/{1}", folder, file); detalleproducto.ImagenUrl = pic; return(true); } } return(false); }
public List <Producto> ListarProductos() { var consulta = "_spListarProductos"; Producto producto = null; DetalleProducto detalleProducto = null; Categoria categoria = null; List <Producto> listaProductos = new List <Producto>(); try { var data = _gestorDaoSql.EjecutarConsulta(consulta); while (data.Read()) { producto = new Producto() { IdProducto = Convert.ToInt32(data["Idproducto"]), Nombre = data["Nombre"].ToString(), Descripcion = data["Descripcion"].ToString(), }; detalleProducto = new DetalleProducto() { PrecioCosto = Convert.ToDecimal(data["PrecioCosto"]), PrecioVenta = Convert.ToDecimal(data["PrecioVenta"]), Stock = Convert.ToInt32(data["Stock"]), }; categoria = new Categoria() { Nombre = data["Nombre"].ToString() }; producto.DetalleProducto = detalleProducto; producto.Categoria = categoria; listaProductos.Add(producto); } data.Close(); return(listaProductos); } catch (Exception x) { throw x; } }
public int InsertarDetalleProducto(DetalleProducto detalleProducto) { try { //_gestorDaoSql.IniciarTransaccion();//segunda llamada_ aqui ya abrio linea 30 int inserto = _detalleProductoDao.InsertarDetalleProducto(detalleProducto); if (inserto > 0) { _gestorDaoSql.TerminarTransaccion(); } else { _gestorDaoSql.CancelarTransaccion(); } return(inserto); } catch (Exception x) { throw x; } }
private void btn_Actualizar_OTPadre_Click(object sender, EventArgs e) { try { if (txt_cantidad_real.Text == "") { MessageBox.Show("Complete el campo\"Cantidad real producida\" antes de confirmar", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); txt_cantidad_real.Focus(); return; } List <DetalleProducto> productos = new List <DetalleProducto>(); for (int i = 0; i < DGV_detalle_Productos.RowCount; i++) { DetalleProducto p = new DetalleProducto(); p.idProducto = int.Parse(DGV_detalle_Productos.Rows[i].Cells["nroProducto"].Value.ToString()); p.cantidad = double.Parse(DGV_detalle_Productos.Rows[i].Cells["cantidadReal"].Value.ToString()); p.cantidadProductos = double.Parse(DGV_detalle_Productos.Rows[i].Cells["cantidadPlanificada"].Value.ToString()); productos.Add(p); } orden.cantidadReal = double.Parse(txt_cantidad_real.Text); orden.observaciones = txt_observaciones.Text; cantidadPlan = orden.cantidadReal - cantidadPedido; OrdenDeTrabajoDAO.finalizarOTPadre(orden, cantidadPedido, cantidadPlan, productos); Estado est = new Estado(); est.Nombre = "LISTO"; orden.estado = est; Close(); } catch (ApplicationException ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } catch (FormatException ex) { MessageBox.Show("Ingrese solo números", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); } }
/// <summary> /// Utilizaremos el metodo agregar para cada vez que el usuario agregue un producto al carrito desde la /// pagina principal /// </summary> /// <param name="m"></param> /// <returns></returns> public int agregar(DetalleProducto m, String nom, int idusu) { MySqlConnection conexion = null; int afectados = 0; try { conexion = new MySqlConnection(new ConexionMySQL().GetConnectionString()); conexion.Open(); String consulta = "INSERT INTO detalleproducto " + "VALUES ((select c.idcarrito from carrito c" + " where NombreProd='" + nom + "' and idUsuario='" + idusu + "' group by idUsuario)," + "@idProducto,@Precio,@Cantidad)"; MySqlCommand comando = new MySqlCommand(); comando.Connection = conexion; comando.CommandText = consulta; comando.CommandType = System.Data.CommandType.Text; comando.Parameters.AddWithValue("@IdCarrio", m.Precio); comando.Parameters.AddWithValue("@idProducto", m.idProducto); comando.Parameters.AddWithValue("@Precio", m.Precio); comando.Parameters.AddWithValue("@Cantidad", m.cantidad); afectados = comando.ExecuteNonQuery(); return(afectados); } catch (Exception ex) { throw new Exception("No se pudieron registrar los detalles del producto"); } finally { if (afectados != 0) { conexion.Close(); } } }
private void btnGuardar_Click(object sender, EventArgs e) { List <DetalleProducto> lista = new List <DetalleProducto>(); //if (eliminarEstructura == false) //{ if (lblDetalle.Text == "") { MessageBox.Show(this, "Falta seleccionar Producto", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (DGVEstructuraProductos.RowCount == 0) { MessageBox.Show(this, "Falta asignarle al menos un producto al detalle", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Information); txtCantidad.Focus(); return; } for (int i = 0; i < DGVEstructuraProductos.RowCount; i++) { DetalleProducto detalleProducto = new DetalleProducto(); detalleProducto.idProductoPadre = int.Parse(DGVEstructuraProductos.Rows[i].Cells["idProductoPadre"].Value.ToString()); detalleProducto.idProducto = int.Parse(DGVEstructuraProductos.Rows[i].Cells["idProducto"].Value.ToString()); detalleProducto.cantidad = double.Parse(DGVEstructuraProductos.Rows[i].Cells["cantidad"].Value.ToString()); lista.Add(detalleProducto); } //} if (lblAccion.Text == "NUEVA ESTRUCTURA") { try { if (MessageBox.Show(this, "¿Desea confirmar nueva estructura?", "Confirmar Nueva Estructura", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { gestor.tomarDetalleProductos(lista); gestor.nuevaEstructura(); MessageBox.Show("Nueva Estructura Registrada con Exito", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); DGVEstructuraProductos.Enabled = false; } else { return; } } catch (ApplicationException ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } } if (lblAccion.Text == "MODIFICAR ESTRUCTURA") { gestor.tomarDetalleProductos(lista); gestor.tomarIdProductoPadre(int.Parse(DGVEstructuraProductos.Rows[0].Cells["idProductoPadre"].Value.ToString())); try { gestor.modificacionConfirmada(); MessageBox.Show("Modificacion de Estructura Registrada con Exito", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); DGVEstructuraProductos.Enabled = false; } catch (ApplicationException ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } } //if (lblAccion.Text == "ELIMINAR ESTRUCTURA") //{ // gestor.tomarIdProductoPadre(int.Parse(DGVProductos.SelectedRows[0].Cells[7].Value.ToString())); // try // { // gestor.eliminacionConfirmada(); // MessageBox.Show("Eliminada Estructura con Exito", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); // } // catch (ApplicationException ex) // { // MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); // } //} cargarGrillaProductos("todo"); txtCantidad.Text = ""; btnNuevo.Enabled = true; btnModificar.Enabled = true; btn_eliminar.Enabled = true; btnGuardar.Enabled = false; btnCancelar.Enabled = false; btnAgregar.Enabled = false; btnSacar.Enabled = false; lblAccion.Text = "SELECCIONE OPCION"; lblProductos.Text = "TODOS LOS PRODUCTOS"; lblDetalle.Text = ""; lblUnidad.Text = ""; lblSeleccionado.Text = ""; DGVProductosAAgregar.Enabled = false; DGVProductos.Enabled = true; DGVEstructuraProductos.Rows.Clear(); }
public static List <DetalleProducto> GetAll(int id) { Acceso ac = new Acceso(); List <DetalleProducto> productos = new List <DetalleProducto>(); string sql = "SELECT idProducto, idProductoDetalle, ProductoDetalle, cantidad, Producto, idCategoria, categoria, descCategoria, idUnidad, unidad, descUnidad, codProducto, idUnidadTiempo, UnidadTiempo, descUnidadTiempo, cantidadProductos, tiempoProduccion, tipoMaquinaria, idTipoMaquinaria from CONSULTA_ESTRUCTURA_PRODUCTOS where idProducto =" + id; SqlCommand cmd = new SqlCommand(); SqlConnection conexion = new SqlConnection(ac.getCadenaConexion()); try { conexion.Open(); cmd.Connection = conexion; cmd.CommandText = sql; cmd.CommandType = CommandType.Text; SqlDataReader dr = cmd.ExecuteReader(); DetalleProducto p; Categoria c; UnidadMedida u; UnidadMedida uT; TipoMaquinaria TM; while (dr.Read()) { u = new UnidadMedida(); u.IDUnidad = Convert.ToInt32(dr["idUnidad"]); u.Nombre = dr["unidad"].ToString(); u.Descripcion = dr["descUnidad"].ToString(); c = new Categoria(); c.IDCategoria = Convert.ToInt32(dr["idCategoria"]); c.Nombre = dr["categoria"].ToString(); c.Descripcion = dr["descCategoria"].ToString(); uT = new UnidadMedida(); uT.IDUnidad = Convert.ToInt32(dr["idUnidadTiempo"]); uT.Nombre = dr["unidadTiempo"].ToString(); uT.Descripcion = dr["descUnidadTiempo"].ToString(); TM = new TipoMaquinaria(); TM.idTipoMaquinaria = Convert.ToInt32(dr["idTipoMaquinaria"].ToString()); TM.Nombre = dr["tipoMaquinaria"].ToString(); p = new DetalleProducto(); p.CODProducto = Convert.ToInt32(dr["codProducto"]); p.Nombre = dr["ProductoDetalle"].ToString(); p.Categoria = c; p.Unidad = u; p.cantidad = double.Parse(dr["cantidad"].ToString()); p.idProducto = Convert.ToInt32(dr["idProductoDetalle"]); p.idProductoPadre = Convert.ToInt32(dr["idProducto"]); p.tiempoProduccion = double.Parse(dr["tiempoProduccion"].ToString()); p.cantidadProductos = double.Parse(dr["cantidadProductos"].ToString()); p.UnidadTiempo = uT; p.TipoMaquinaria = TM; //p.foto = (Image)(dr["foto"]); productos.Add(p); } } catch (InvalidOperationException ex) { throw new ApplicationException(ex.Message); } catch (SqlException ex) { throw new ApplicationException("Error en BD: " + ex.Message); } finally { conexion.Close(); } return(productos); }
private void btnAgregar_Click(object sender, EventArgs e) { if (txtCantidad.Text == "") { MessageBox.Show("Falta cantidad", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); return; } DetalleProducto det; Categoria cat; UnidadMedida u; UnidadMedida uT; if (DGVEstructuraProductos.Rows.Count == 0) { det = new DetalleProducto(); cat = new Categoria(); u = new UnidadMedida(); uT = new UnidadMedida(); det.idProductoPadre = int.Parse(DGVProductos.SelectedRows[0].Cells["idProduct"].Value.ToString()); det.idProducto = int.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["idProd"].Value.ToString()); det.Nombre = DGVProductosAAgregar.SelectedRows[0].Cells["nombreProductoAAgregar"].Value.ToString(); cat.IDCategoria = int.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["idCategoriaAAgregar"].Value.ToString()); cat.Nombre = DGVProductosAAgregar.SelectedRows[0].Cells["categoriaAAgregar"].Value.ToString(); det.cantidad = double.Parse(txtCantidad.Text); u.IDUnidad = int.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["idUnidadAAgregar"].Value.ToString()); u.Nombre = DGVProductosAAgregar.SelectedRows[0].Cells["unidadMedidaAAgregar"].Value.ToString(); det.cantidadProductos = double.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["cantidadDeProductos1"].Value.ToString()); det.tiempoProduccion = double.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["tiempoProduccion1"].Value.ToString()); uT.Nombre = DGVProductosAAgregar.SelectedRows[0].Cells["unidadTiempo1"].Value.ToString(); DGVEstructuraProductos.Rows.Add(det.idProductoPadre, det.idProducto, det.Nombre, det.cantidad, cat.Nombre, det.cantidadProductos, u.Nombre, det.tiempoProduccion, uT.Nombre); } else { int band = 0; if (estructuraProductoSeleccionado == false) { for (int i = 0; i < DGVEstructuraProductos.Rows.Count; i++) { if (int.Parse(DGVEstructuraProductos.Rows[i].Cells["idProducto"].Value.ToString()) == int.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["idProd"].Value.ToString())) { band = 1; DGVEstructuraProductos.Rows[i].Cells["cantidad"].Value = txtCantidad.Text; break; } } if (band == 0) { det = new DetalleProducto(); cat = new Categoria(); u = new UnidadMedida(); uT = new UnidadMedida(); det.idProductoPadre = int.Parse(DGVProductos.SelectedRows[0].Cells["idProduct"].Value.ToString()); det.idProducto = int.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["idProd"].Value.ToString()); det.Nombre = DGVProductosAAgregar.SelectedRows[0].Cells["nombreProductoAAgregar"].Value.ToString(); cat.IDCategoria = int.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["idCategoriaAAgregar"].Value.ToString()); cat.Nombre = DGVProductosAAgregar.SelectedRows[0].Cells["categoriaAAgregar"].Value.ToString(); det.cantidad = double.Parse(txtCantidad.Text); u.IDUnidad = int.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["idUnidadAAgregar"].Value.ToString()); u.Nombre = DGVProductosAAgregar.SelectedRows[0].Cells["unidadMedidaAAgregar"].Value.ToString(); det.cantidadProductos = double.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["cantidadDeProductos1"].Value.ToString()); det.tiempoProduccion = double.Parse(DGVProductosAAgregar.SelectedRows[0].Cells["tiempoProduccion1"].Value.ToString()); uT.Nombre = DGVProductosAAgregar.SelectedRows[0].Cells["unidadTiempo1"].Value.ToString(); DGVEstructuraProductos.Rows.Add(det.idProductoPadre, det.idProducto, det.Nombre, det.cantidad, cat.Nombre, det.cantidadProductos, u.Nombre, det.tiempoProduccion, uT.Nombre); } } else { DGVEstructuraProductos.SelectedRows[0].Cells["cantidad"].Value = txtCantidad.Text; } } btnAgregar.Enabled = false; DGVEstructuraProductos.Enabled = true; DGVProductosAAgregar.Enabled = true; }
public string Modificar(ProductoJoinProductoConDetallesJoinDetalleProductoViewModel productoConNuevosValores) { string res = "false"; using (var ctx = new palominoEntities()) { using (var dbContextTransaction = ctx.Database.BeginTransaction(IsolationLevel.Serializable)) { try { //Verifico que el Producto este activo var listaIdsYEstado = (from s in ctx.Producto select new { s.Id, s.Activo }).ToList(); var listaIdsActivos = (from item in listaIdsYEstado where item.Activo == true select item.Id).ToList(); int idBuscado = listaIdsActivos.Find(id => id == productoConNuevosValores.Producto_Id); //Verifico que el DetalleProducto este activo var listaIdsDetalleProducto = (from x in ctx.DetalleProducto select new { x.Id, x.Activo }).ToList(); var listaIdsDetalleProductoActivos = (from x in listaIdsDetalleProducto where x.Activo == true select x.Id).ToList(); var otroIdBuscado = listaIdsDetalleProductoActivos.Find(item => item == productoConNuevosValores.DetalleProducto_Id); //Busco el Id de usuario que necesitare, y ver que este activo var resumenUsuarios = (from x in ctx.Usuario select new { x.Id, x.Usuario1, x.Activo }).ToList(); var usuarioActivoBuscado = resumenUsuarios.SingleOrDefault(item => (item.Id == productoConNuevosValores.DetalleProducto_IdUsuarioAlta) && (item.Activo == true)); if ((idBuscado > 0) && (otroIdBuscado > 0) && (usuarioActivoBuscado != null)) // Aqui se comprueba lo anterior { var resumenProductoConDetalles = (from s in ctx.ProductoConDetalles where s.IdProducto == productoConNuevosValores.Producto_Id select new { s.IdDetalleProducto }).ToList(); var resumenDetalleProducto = (from c in ctx.DetalleProducto select new { c.Id, c.Activo }).ToList(); var fila = (from a in resumenProductoConDetalles join b in resumenDetalleProducto on a.IdDetalleProducto equals b.Id where b.Activo == true select b.Id).ToList(); var elementoUnico = fila.Single(); DetalleProducto detalleProducto = ctx.DetalleProducto.Find(elementoUnico); detalleProducto.Activo = false; detalleProducto.IdUsuarioModifico = productoConNuevosValores.DetalleProducto_IdUsuarioModifico; detalleProducto.FechaModificacion = productoConNuevosValores.DetalleProducto_FechaModificacion; //crear nuevo var resumenIdsEnDetalleProducto = (from s in resumenDetalleProducto select s.Id).ToList(); int idNuevoParaDetalleProducto = resumenIdsEnDetalleProducto.Max() + 1; DetalleProducto nuevoDetalleProducto = new DetalleProducto(); nuevoDetalleProducto.Id = idNuevoParaDetalleProducto; nuevoDetalleProducto.Nombre = productoConNuevosValores.DetalleProducto_Nombre; nuevoDetalleProducto.Activo = true; nuevoDetalleProducto.IdUsuarioAlta = productoConNuevosValores.DetalleProducto_IdUsuarioAlta; nuevoDetalleProducto.IdUsuarioModifico = productoConNuevosValores.DetalleProducto_IdUsuarioModifico; nuevoDetalleProducto.FechaAlta = productoConNuevosValores.DetalleProducto_FechaAlta; nuevoDetalleProducto.FechaModificacion = productoConNuevosValores.DetalleProducto_FechaModificacion; ctx.DetalleProducto.Add(nuevoDetalleProducto); ProductoConDetalles productoConDetalles = new ProductoConDetalles(); productoConDetalles.IdProducto = productoConNuevosValores.Producto_Id; productoConDetalles.IdDetalleProducto = idNuevoParaDetalleProducto; productoConDetalles.Activo = true; productoConDetalles.IdUsuarioAlta = productoConNuevosValores.DetalleProducto_IdUsuarioAlta; productoConDetalles.IdUsuarioModifico = productoConNuevosValores.DetalleProducto_IdUsuarioModifico; productoConDetalles.FechaAlta = productoConNuevosValores.DetalleProducto_FechaAlta; productoConDetalles.FechaModificacion = productoConNuevosValores.DetalleProducto_FechaModificacion; ctx.ProductoConDetalles.Add(productoConDetalles); ctx.SaveChanges(); res = "ok"; } else { res = "No esta disponible el producto a modificar"; } dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); throw new Exception("Excepcion cachada y lanzada en ProductoLN.Modificar", ex); } } } return(res); }
//---------------------------Methods public string Crear(ProductoViewModel productoViewModel) { string mensaje = ""; using (var ctx = new palominoEntities()) { using (var dbContextTransaction = ctx.Database.BeginTransaction(IsolationLevel.Serializable)) { try { //Buscar los codigosBarras del usuario operador var codigosBarrasExisten = (from s in ctx.Producto where s.IdUsuarioAlta == productoViewModel.IdUsuarioAlta select s.CodigoBarras ).ToList(); bool existeProductoEnActivosOInactivos = productoViewModel.ExisteEn(codigosBarrasExisten); //Busco el Id de usuario que necesitare, y ver que este activo var resumenUsuarios = (from x in ctx.Usuario select new { x.Id, x.Usuario1, x.Activo }).ToList(); var usuarioActivoBuscado = resumenUsuarios.SingleOrDefault(item => (item.Id == productoViewModel.IdUsuarioAlta) && (item.Activo == true)); if (!existeProductoEnActivosOInactivos && (usuarioActivoBuscado != null)) { var listaIdsProducto = (from s in ctx.Producto select s.Id).ToList(); int idUltimoEnProducto = listaIdsProducto.Count() == 0 ? 0 : listaIdsProducto.Max(); Producto p = new Producto(); //Producto es una clase del edmx p.Id = idUltimoEnProducto + 1; p.CodigoBarras = productoViewModel.CodigoBarras; p.IdUsuarioAlta = productoViewModel.IdUsuarioAlta; p.FechaAlta = productoViewModel.FechaAlta; p.IdUsuarioModifico = productoViewModel.IdUsuarioModifico; p.FechaModificacion = productoViewModel.FechaModificacion; p.Activo = true; ctx.Producto.Add(p); var idsDetalleProducto = (from s in ctx.DetalleProducto select s.Id).ToList(); int idUltimoEnDetalleProduto = idsDetalleProducto.Count() == 0 ? 0 : idsDetalleProducto.Max(); DetalleProducto detalleProducto = new DetalleProducto(); detalleProducto.Id = idUltimoEnDetalleProduto + 1; detalleProducto.Nombre = productoViewModel.Nombre; detalleProducto.IdUsuarioAlta = productoViewModel.IdUsuarioAlta; detalleProducto.IdUsuarioModifico = productoViewModel.IdUsuarioModifico; detalleProducto.FechaAlta = productoViewModel.FechaAlta; detalleProducto.FechaModificacion = productoViewModel.FechaModificacion; detalleProducto.Activo = true; ctx.DetalleProducto.Add(detalleProducto); ProductoConDetalles productoConDetalles = new ProductoConDetalles(); productoConDetalles.IdProducto = p.Id; productoConDetalles.IdDetalleProducto = detalleProducto.Id; productoConDetalles.IdUsuarioAlta = productoViewModel.IdUsuarioAlta; productoConDetalles.FechaAlta = productoViewModel.FechaAlta; productoConDetalles.IdUsuarioModifico = productoViewModel.IdUsuarioModifico; productoConDetalles.FechaModificacion = productoViewModel.FechaModificacion; productoConDetalles.Activo = true; ctx.ProductoConDetalles.Add(productoConDetalles); ctx.SaveChanges(); mensaje = "ok"; } else { mensaje = existeProductoEnActivosOInactivos == true ? "Ya existe este código de barras en la BD" : "El usuario esta inactivo"; } dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); throw new Exception("Excepcion cachada y lanzada en ProductoLN.Crear", ex); } } } return(mensaje); }