void MtdSave() { MtdCreateController(); List <VNTCode.Tbl6> lstTbl6 = oCtrLer.Tbl6_Gets_ByIdTbl3(Convert.ToInt32(comboBox1.SelectedValue.ToString())); for (int i = 0; i < listView2.Items.Count; i++) { VNTCode.Tbl6 oTbl6 = lstTbl6.Where(tbl6 => tbl6.IdTbl5.ToString() == listView2.Items[i].Name).FirstOrDefault(); // Nếu không có trong danh sách ban đầu thì thêm vào. if (oTbl6 == null) { oTbl6 = new VNTCode.Tbl6(); oTbl6.IdTbl3 = Convert.ToInt32(comboBox1.SelectedValue); oTbl6.IdTbl5 = Convert.ToInt32(listView2.Items[i].Name); oTbl6.DTCol1 = oCtrLer.MtdGetDate(); oCtrLer.MemLinq.Tbl6s.InsertOnSubmit(oTbl6); oCtrLer.MemLinq.Tbl5s.Where(tb5 => tb5.Id == oTbl6.IdTbl5).Single().ICol2 = 3; } // Nếu có thì loại ra khoải danh sách ban đầu để không phải cập nhật lại DTCol2. else { lstTbl6.Remove(oTbl6);// Remove trong List chứ không phải Delete trong Database. } } // Duyệt qua những thằng có trong danh sách ban đầu nhưng không có trong danh sách mới. foreach (VNTCode.Tbl6 oTbl6 in lstTbl6) { oTbl6.DTCol2 = oCtrLer.MtdGetDate(); oTbl6.Tbl5.ICol2 = 1; } oCtrLer.MemLinq.SubmitChanges(); }
void MtdSetControlValues(VNTCode.Tbl5 pTbl5) { lblId.Text = pTbl5.Id.ToString(); lblICol3.Text = txtICol3.Text = pTbl5.ICol3.ToString(); cbbTbl3.SelectedValue = 0; VNTCode.Tbl6 oTbl6 = pTbl5.Tbl6s.Where(tbl6 => tbl6.DTCol2.Value == null).FirstOrDefault(); if (oTbl6 != null) { cbbTbl3.SelectedValue = oTbl6.IdTbl3; } ddlTbl1.SelectedValue = pTbl5.IdTbl1; ddlTbl2.SelectedValue = pTbl5.IdTbl2; txtICol1.Text = VNTCode.Controller.MtdIntToString(pTbl5.ICol1.Value); txtMCol1.Text = VNTCode.Controller.MtdDecimalToString(pTbl5.MCol1.Value); txtMCol2.Text = VNTCode.Controller.MtdDecimalToString(pTbl5.MCol2.Value); txtSCol1.Text = pTbl5.SCol1; txtSCol2.Text = pTbl5.SCol2; // Chuyen doi ten. MtdShowNumName(txtICol1); MtdShowNumName(txtMCol1); MtdShowNumName(txtMCol2); }
bool MtdSave() { if (MtdCheckValid()) { //int idxDdl2 = ddlTbl2.SelectedIndex; MtdCreateController(); VNTCode.Tbl5 oTbl5; VNTCode.Tbl6 oTbl6; DateTime dt = oCtrLer.MtdGetDate(); int idTbl3 = Convert.ToInt32(cbbTbl3.SelectedValue); // Tao moi. if (lblId.Text == "0") { int iCol3 = oCtrLer.Tbl5_Get_ICol3(); // Nếu tất cả mã số đã sử dụng thì thoát. if (iCol3 == -1) { string cap = global::VNTSellGold.Properties.Resources.CapError; string mes = global::VNTSellGold.Properties.Resources.MesICol3Full; MessageBox.Show(mes, cap, MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } oTbl5 = new VNTCode.Tbl5(); oTbl5.ICol2 = idTbl3 == 0 ? 0 : 2;// 0 : mới nhập chưa giao; 2 : mới nhập đã giao. oTbl5.ICol3 = iCol3; MtdGetControlValues(ref oTbl5); oTbl5.CreateDate = dt; oTbl5.ModifyDate = oTbl5.CreateDate; oTbl5.CreateBy = lblUserName.Text; oTbl5.ModifyBy = lblUserName.Text; // Insert Tbl6 Khi co chọn nhan viên. if (idTbl3 > 0) { oTbl6 = new VNTCode.Tbl6(); oTbl6.IdTbl3 = idTbl3; oTbl6.DTCol1 = dt; oTbl5.Tbl6s.Add(oTbl6); } //oCtrLer.MemLinq.Tbl6s.InsertOnSubmit(oTbl6); oCtrLer.MemLinq.Tbl5s.InsertOnSubmit(oTbl5); } // Cap nhat. Không cập nhật tình trạng đã giao hay chưa. else { oTbl5 = oCtrLer.Tbl5_Get_ById(Convert.ToInt32(lblId.Text)); MtdGetControlValues(ref oTbl5); //// Chưa giao -> Giao : chưa giao mới nhập -> đã giao mới nhập || chưa giao -> đã giữ. //// Đã giao -> Giao cho người khác : Trạng thái giữ nguyên. //// Đã giao -> Không giao : đã giao mới nhập -> chưa giao mới nhập || đã giữ -> chưa giao. //// Get Tbl6. //oTbl6 = oTbl5.Tbl6s.Where(tbl6 => tbl6.DTCol2 == null).FirstOrDefault(); //// Nếu chưa có trong Tbl6 (Chưa giao) Mà có giao thì insert moi. //if (oTbl6 == null && idTbl3 > 0) //{ // oTbl5.ICol2 += 2;// Đã giao (mới nhập). // // Inset vao Tbl6. // oTbl6 = new VNTCode.Tbl6(); // oTbl6.IdTbl3 = idTbl3; // oTbl6.DTCol1 = dt; // oTbl5.Tbl6s.Add(oTbl6); //} //// Nếu co trong Tbl6 (Đã giao). //else //{ // if (idTbl3 > 0) // Có giao cho ai đó. // { // oTbl6.IdTbl3 = idTbl3; // } // else // Đã giao bây giờ không giao. // { // oTbl5.ICol2 -= 2;// Chưa giao (mới nhập). // oTbl6.DTCol2 = dt; // } //} oTbl5.ModifyDate = dt; oTbl5.ModifyBy = lblUserName.Text; } oCtrLer.MemLinq.SubmitChanges(); return(true); } return(false); }