private void BtExpDeletePro_Click(object sender, EventArgs e) { List <DetailExport> List = new List <DetailExport>(); var IdBill = DgvExp.CurrentRow.Cells["ID"].Value.ToString(); int Bill = Convert.ToInt16(IdBill); for (int i = 0; i < DgvExpPro.RowCount; i++) { DetailExport ExpPro = new DetailExport(); var str = DgvExpPro.Rows[i].Cells["ID"].Value.ToString(); ExpPro.IDProduct = Convert.ToInt16(str); ExpPro.IDBill = Bill; var quan = DgvExpPro.Rows[i].Cells["Quantity"].Value.ToString(); ExpPro.Quantity = Convert.ToInt16(quan); List.Add(ExpPro); } var IdPro = DgvExpPro.CurrentRow.Cells["ID"].Value.ToString(); int Pro = Convert.ToInt16(IdPro); var ProExp = List.Where(p => p.IDProduct == Pro).SingleOrDefault(); List.Remove(ProExp); LoadPro(List); TxtExpProCode.Clear(); TxtExpProName.Clear(); TxtExpProUnit.Clear(); TxtExpProQuan.Clear(); }
private void BtExpEdit_Click(object sender, EventArgs e) { var IdBill = DgvExp.CurrentRow.Cells["ID"].Value.ToString(); int ID = Convert.ToInt16(IdBill); var Bill = db.BillExports.Find(ID); Bill.IDCustom = Convert.ToInt16(CbExpCustomer.SelectedValue.ToString()); Bill.NameCustom = TxtExpDeliver.Text; Bill.IDStoreKeeper = Convert.ToInt16(TxtExpStoID.Text); Bill.DateExport = DateExp.Value; if (MessageBox.Show("Do you want to save changes?", "", MessageBoxButtons.OKCancel) == DialogResult.OK) { var result = db.DetailExports.Where(p => p.IDBill == ID).ToList(); for (int i = 0; i < result.Count; i++) { db.DetailExports.Remove(result[i]); db.SaveChanges(); } for (int i = 0; i < DgvExpPro.RowCount; i++) { DetailExport Detail = new DetailExport(); Detail.IDBill = Bill.ID; Detail.IDProduct = Convert.ToInt16(DgvExpPro.Rows[i].Cells["ID"].Value.ToString()); var res = db.DetailExports.Where(p => p.IDBill == Detail.IDBill && p.IDProduct == Detail.IDProduct).SingleOrDefault(); if (res != null) { res.Quantity = res.Quantity + Convert.ToInt16(DgvExpPro.Rows[i].Cells["Quantity"].Value.ToString()); db.SaveChanges(); } else { Detail.Quantity = Convert.ToInt16(DgvExpPro.Rows[i].Cells["Quantity"].Value.ToString()); db.DetailExports.Add(Detail); db.SaveChanges(); } } db.SaveChanges(); LoadDgv(); LoadDetail(); LoadDgvPro(); LoadDetailPro(); } else { return; } }
private void BtExpAddPro_Click(object sender, EventArgs e) { List <DetailExport> ListPro = new List <DetailExport>(); DetailExport ProExp = new DetailExport(); var Id = Convert.ToInt32(DgvExp.CurrentRow.Cells["ID"].Value.ToString()); for (int i = 0; i < DgvExpPro.RowCount; i++) { var str = DgvExpPro.Rows[i].Cells["ID"].Value.ToString(); var IDProduct = Convert.ToInt16(str); var Detail = db.DetailExports.Where(p => p.IDBill == Id && p.IDProduct == IDProduct).SingleOrDefault(); ListPro.Add(Detail); } var result = db.Products.Where(p => p.Code == TxtExpProCode.Text).SingleOrDefault(); if (result == null) { MessageBox.Show("There isn't this item in the storehouse"); return; } else { TxtExpProName.Text = result.Name; TxtExpProUnit.Text = result.Unit; CbExpProSup.SelectedValue = result.IdCom; if (Convert.ToInt32(TxtExpProQuan.Text) > result.Quantity) { MessageBox.Show("There aren't enough items in the storehouse"); TxtExpProQuan.Clear(); return; } else { ProExp.IDBill = Id; ProExp.IDProduct = result.ID; ProExp.Quantity = Convert.ToInt16(TxtExpProQuan.Text); ListPro.Add(ProExp); LoadPro(ListPro); } } }
private void BtExpCreate_Click(object sender, EventArgs e) { if (TxtExpStorekeeper.Text == "" || TxtExpDeliver.Text == "") { MessageBox.Show("Fill in all information"); return; } BillExport Bill = new BillExport(); Bill.IDCustom = Convert.ToInt16(CbExpCustomer.SelectedValue.ToString()); Bill.IDStoreKeeper = Medium.IdSto; Bill.NameCustom = TxtExpDeliver.Text; Bill.DateExport = DateExp.Value; db.BillExports.Add(Bill); db.SaveChanges(); for (int i = 0; i < DgvExpPro.RowCount; i++) { DetailExport Detail = new DetailExport(); Detail.IDBill = Bill.ID; Detail.IDProduct = Convert.ToInt16(DgvExpPro.Rows[i].Cells["ID"].Value.ToString()); var res = db.DetailExports.Where(p => p.IDBill == Detail.IDBill && p.IDProduct == Detail.IDProduct).SingleOrDefault(); if (res != null) { res.Quantity = res.Quantity + Convert.ToInt16(DgvExpPro.Rows[i].Cells["Quantity"].Value.ToString()); db.SaveChanges(); } else { Detail.Quantity = Convert.ToInt16(DgvExpPro.Rows[i].Cells["Quantity"].Value.ToString()); db.DetailExports.Add(Detail); db.SaveChanges(); } } MessageBox.Show("Add Item successfully"); LoadDgv(); LoadDetail(); LoadDgvPro(); LoadDetailPro(); }
private void BtExpEditPro_Click(object sender, EventArgs e) { var IdBill = Convert.ToInt16(DgvExp.CurrentRow.Cells["ID"].Value.ToString()); List <DetailExport> List = new List <DetailExport>(); for (int i = 0; i < DgvExpPro.RowCount; i++) { DetailExport ProExp = new DetailExport(); var str = DgvExpPro.Rows[i].Cells["ID"].Value.ToString(); ProExp.IDProduct = Convert.ToInt16(str); ProExp.IDBill = IdBill; var quan = DgvExpPro.Rows[i].Cells["Quantity"].Value.ToString(); ProExp.Quantity = Convert.ToInt16(quan); //var Detail = db.DetailExports.Where(p => p.IDBill == IdBill && p.IDProduct == IDProduct).SingleOrDefault(); List.Add(ProExp); } var IDPro = Convert.ToInt16(DgvExpPro.CurrentRow.Cells["ID"].Value.ToString()); var result = db.Products.Find(IDPro); if (Convert.ToInt32(TxtExpProQuan.Text) > result.Quantity) { MessageBox.Show("There aren't enough items in the storehouse"); TxtExpProQuan.Clear(); return; } else { var ProExp = List.Where(p => p.IDBill == IdBill && p.IDProduct == IDPro).SingleOrDefault(); List.Remove(ProExp); DetailExport ExpPro = new DetailExport(); ExpPro.IDBill = IdBill; ExpPro.IDProduct = IDPro; string quan = TxtExpProQuan.Text; ExpPro.Quantity = Convert.ToInt16(quan); List.Add(ExpPro); LoadPro(List); } }