private void BtnAdd_Click(object sender, EventArgs e) { if (!checkFieldsEntryDetail()) { return; } var entryDetail = new EntryDet { id_item = idItem, quantity = Convert.ToInt16(tbQuantity.Text) }; entryList.Add(entryDetail); cbItem.Text = ""; tbQuantity.Text = ""; fill_dgvEntryDetails2(); }
private void BtnSave_Click(object sender, EventArgs e) { if (!checkFieldsEntry()) { return; } var db = new ConnectionDB(); Entry entry = new Entry(); EntryDet entryDet = new EntryDet(); if (dgvEntryDetail2.Rows.Count == 0) { MessageBox.Show("Sin artículos por recibir", "Control Inventario", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } entry.date = DateTime.Now; entry.id_user = idUser; entry.id_warehouse = idWarehouse; entry.observation = tbObservations.Text; entry.serie = cbSerie.Text; entry.folio = Convert.ToInt32(tbFolio.Text); db.Entries.Add(entry); db.SaveChanges(); MessageBox.Show("Registro con éxito", "Entrada", MessageBoxButtons.OK, MessageBoxIcon.Information); foreach (DataGridViewRow item in dgvEntryDetail2.Rows) { entryDet.id_entry = entry.Id; entryDet.id_item = (int)item.Cells[0].Value; entryDet.quantity = (int)item.Cells[2].Value; db.EntryDet.Add(entryDet); db.SaveChanges(); var inventory = db.Inventories.Where(x => x.id_item == entryDet.id_item).FirstOrDefault(); if (inventory == null) { inventory = new Inventory() { id_item = entryDet.id_item, id_warehouse = entry.id_warehouse, quantity = entryDet.quantity, }; db.Inventories.Add(inventory); db.SaveChanges(); } else { inventory.quantity += entryDet.quantity; db.Entry(inventory).State = EntityState.Modified; db.SaveChanges(); } } fill_dgvEntries(""); enable_fields(false); btnNew.Visible = true; btnCancel.Visible = false; btnSave.Visible = false; clearFieldsTab2(); }