private void createProvider() { provider obj = new provider(); obj.name = txtName.Text; obj.id_company = companies.Where(d => d.name == cmbCompany.Text).First().id; obj.email = txtEmail.Text; obj.phone = txtPhone.Text; obj.mobile = txtMobile.Text; obj.payment_term = cmbPaymentTerms.Text; using (metaGamesInventoryAlterEntities BD = new metaGamesInventoryAlterEntities()) { try { BD.provider.Add(obj); BD.SaveChanges(); MessageBox.Show("Proveedor registrado exitosamente.", "Operación exitosa", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); this.Close(); } catch { string text = "Posibles incongruencias:" + "\n2. Algun otro proveedor tiene registrado el teléfono: " + txtPhone.Text + "\n2. Algun otro proveedor tiene registrado el celular: " + txtMobile.Text + "\n3. Alguna otra compañía tiene registrado el E-mail: " + txtEmail.Text; MessageBox.Show(text, "Operación fallida", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void createProduct() //Método encargado de la inserción de datos dentro del contexto de la tabla Product y, //posteriormente, en la base de datos. { product obj = new product();//Objeto que almacenará los datos obtenidos de los controles del formulario obj.name = txtName.Text; obj.price = Double.Parse(nudPrice.Value.ToString()); obj.minimum_quantity = Int32.Parse(nudMinimum.Value.ToString()); obj.stock = Int32.Parse(nudStock.Value.ToString()); //Obtenemos el id, tanto del proveedor como de la categoria seleccionada, //gracias a una consulta a las listas correspondientes try { obj.id_provider = providers.Where(d => d.name == cmbProvider.Text).First().id; } catch /*Si acaso no encuentra el proveedor registrado, se procede a crear un nuevo registro dentro de la tabla Provider*/ { using (metaGamesInventoryAlterEntities BD = new metaGamesInventoryAlterEntities()) { try { provider newProvider = new provider(); newProvider.name = cmbProvider.Text; BD.provider.Add(newProvider); BD.SaveChanges(); } catch { MessageBox.Show("El proveedor ya existe", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } try { obj.id_product_category = categories.Where(d => d.name == cmbCategory.Text).First().id; } catch /*Si acaso no encuentra el proveedor registrado, se procede a crear un nuevo registro dentro de la tabla product_category*/ { using (metaGamesInventoryAlterEntities BD = new metaGamesInventoryAlterEntities()) { try { product_category newCategory = new product_category(); newCategory.name = cmbCategory.Text; BD.product_category.Add(newCategory); BD.SaveChanges(); } catch { MessageBox.Show("La categoría ya existe", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } obj.product_description = txtDescription.Text; using (metaGamesInventoryAlterEntities BD = new metaGamesInventoryAlterEntities()) //Creamos un nuevo contexto de la base de datos { if (obj.id_provider == null) { obj.id_provider = BD.provider.Where(d => d.name == cmbProvider.Text).First().id; } if (obj.id_product_category == null) { obj.id_product_category = BD.product_category.Where(d => d.name == cmbCategory.Text).First().id; } BD.product.Add(obj); //Añadimos el objeto previamente establecido al contexto creado BD.SaveChanges(); //Persistimos los datos del contexto, dentro de la base de datos MessageBox.Show("Producto registrado exitosamente.", "Operación exitosa", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); closable = true; this.Close(); RDProduct form = new RDProduct(); form.MdiParent = metaGamesInventory.home.ActiveForm; form.Text = "Productos registrados"; form.Show(); } }
private void updateProduct() //Método encargado de la actualización de datos dentro del contexto de la tabla Product y, //posteriormente, en la base de datos. { productToUpdate.name = txtName.Text; productToUpdate.price = Double.Parse(nudPrice.Value.ToString()); productToUpdate.minimum_quantity = Int32.Parse(nudMinimum.Value.ToString()); productToUpdate.stock = Int32.Parse(nudStock.Value.ToString()); //Obtenemos el id, tanto del proveedor como de la categoria seleccionada, //gracias a una consulta a las listas correspondientes try { productToUpdate.id_provider = providers.Where(d => d.name == cmbProvider.Text).First().id; } catch /*Si acaso no encuentra el proveedor registrado, se procede a crear un nuevo registro dentro de la tabla Provider*/ { using (metaGamesInventoryAlterEntities BD = new metaGamesInventoryAlterEntities()) { try { provider newProvider = new provider(); newProvider.name = cmbProvider.Text; BD.provider.Add(newProvider); BD.SaveChanges(); } catch { MessageBox.Show("El proveedor ya existe", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } try { productToUpdate.id_product_category = categories.Where(d => d.name == cmbCategory.Text).First().id; } catch /*Si acaso no encuentra el proveedor registrado, se procede a crear un nuevo registro dentro de la tabla product_category*/ { using (metaGamesInventoryAlterEntities BD = new metaGamesInventoryAlterEntities()) { try { product_category newCategory = new product_category(); newCategory.name = cmbCategory.Text; BD.product_category.Add(newCategory); BD.SaveChanges(); } catch { MessageBox.Show("La categoría ya existe", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } productToUpdate.product_description = txtDescription.Text; using (metaGamesInventoryAlterEntities BD = new metaGamesInventoryAlterEntities()) //Creamos un nuevo contexto de la base de datos { productToUpdate.id_provider = BD.provider.Where(d => d.name == cmbProvider.Text).First().id; productToUpdate.id_product_category = BD.product_category.Where(d => d.name == cmbCategory.Text).First().id; //Actualizamos el producto registrado dentro del contexto, por el objeto productToUpdate BD.Entry(productToUpdate).State = System.Data.Entity.EntityState.Modified; BD.SaveChanges();//Persistimos los datos actualizados dentro de la base de datos MessageBox.Show("Producto modificado exitosamente.", "Operación exitosa", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); closable = true; this.Close(); RDProduct form = new RDProduct(); form.MdiParent = metaGamesInventory.home.ActiveForm; form.Text = "Productos registrados"; form.Show(); } }