/// <summary> /// Kiểm tra và thêm mới Danhgiatochucchungnhan /// </summary> /// <param name="entity">Entity</param> /// <returns>Int32: ID của Danhgiatochucchungnhan Mới Thêm Vào</returns> public static Int32 Add(DanhgiatochucchungnhanEntity entity) { checkLogic(entity); checkDuplicate(entity, false); checkFK(entity); return DanhgiatochucchungnhanDAL.Add(entity); }
/// <summary> /// Kiểm tra và chỉnh sửa Danhgiatochucchungnhan /// </summary> /// <param name="entity">DanhgiatochucchungnhanEntity</param> /// <returns>bool:kết quả thực hiện</returns> public static bool Edit(DanhgiatochucchungnhanEntity entity) { checkExist(entity.PK_iDanhgiatochucchungnhanID); checkLogic(entity); checkDuplicate(entity, true); checkFK(entity); return DanhgiatochucchungnhanDAL.Edit(entity); }
/// <summary> /// Kiểm tra logic Entity /// </summary> /// <param name="entity">DanhgiatochucchungnhanEntity: entity</param> private static void checkLogic(DanhgiatochucchungnhanEntity entity) { if (String.IsNullOrEmpty(entity.sPhamvinghidinh)) throw new Exception(EX_SPHAMVINGHIDINH_EMPTY); if (DateTime.Parse("1753-01-01")>entity.tGiodanhgia) throw new Exception(EX_TGIODANHGIA_INVALID); if (DateTime.Parse("1753-01-01")>entity.dNgaydanhgia) throw new Exception(EX_DNGAYDANHGIA_INVALID); if (String.IsNullOrEmpty(entity.sCancudanhgia)) throw new Exception(EX_SCANCUDANHGIA_EMPTY); if (String.IsNullOrEmpty(entity.sNoidungdanhgia)) throw new Exception(EX_SNOIDUNGDANHGIA_EMPTY); if (String.IsNullOrEmpty(entity.sKetquadanhgia)) throw new Exception(EX_SKETQUADANHGIA_EMPTY); if (entity.iKetquadanhgia < 0) throw new Exception(EX_IKETQUADANHGIA_INVALID); if (entity.FK_iTochucchungnhanID < 0) throw new Exception(EX_FK_ITOCHUCCHUNGNHANID_INVALID); if (entity.FK_iTruongdoandanhgiaID < 0) throw new Exception(EX_FK_ITRUONGDOANDANHGIAID_INVALID); }
/// <summary> /// Kiểm tra tồn tại khóa ngoại /// </summary> /// <param name="entity">DanhgiatochucchungnhanEntity:entity</param> private static void checkFK(DanhgiatochucchungnhanEntity entity) { TochucchungnhanEntity oTochucchungnhan = TochucchungnhanDAL.GetOne(entity.FK_iTochucchungnhanID); if (oTochucchungnhan==null) { throw new Exception("Không tìm thấy :FK_iTochucchungnhanID"); } ChuyengiaEntity oChuyengia = ChuyengiaDAL.GetOne(entity.FK_iTruongdoandanhgiaID); if (oChuyengia==null) { throw new Exception("Không tìm thấy :FK_iTruongdoandanhgiaID"); } }
/// <summary> /// Kiểm tra trùng lặp bản ghi /// </summary> /// <param name="entity">DanhgiatochucchungnhanEntity: DanhgiatochucchungnhanEntity</param> private static void checkDuplicate(DanhgiatochucchungnhanEntity entity,bool checkPK) { /* Example List<DanhgiatochucchungnhanEntity> list = DanhgiatochucchungnhanDAL.GetAll(); if (list.Exists( delegate(DanhgiatochucchungnhanEntity oldEntity) { bool result =oldEntity.FIELD.Equals(entity.FIELD, StringComparison.OrdinalIgnoreCase); if(checkPK) result=result && oldEntity.PK_iDanhgiatochucchungnhanID != entity.PK_iDanhgiatochucchungnhanID; return result; } )) { list.Clear(); throw new Exception(EX_FIELD_EXISTED); } */ }
protected void btnLuu_Click(object sender, EventArgs e) { //Kiểm tra số lượng thành viên trong đoàn đánh giá //Số lượng <=5 thành viên kể cả trưởng đoàn đánh giá bool bTruongdoancotrongdanhsach = false; int iSoluongchuyengia = 0; for (int i = 0; i < cblDoandanhgia.Items.Count; ++i) { if (cblDoandanhgia.Items[i].Selected) { iSoluongchuyengia++; if (ddlTruongdoan.SelectedValue == cblDoandanhgia.Items[i].Value) { bTruongdoancotrongdanhsach = true; } } } if(!bTruongdoancotrongdanhsach) { iSoluongchuyengia++; } if(iSoluongchuyengia > 5) { lblThongbao.Text = "Chọn không quá 5 chuyên gia cho một đoàn đánh giá!"; return; } else if(iSoluongchuyengia < 3) { lblThongbao.Text = "Đoàn đánh giá phải từ 3 đến 5 chuyên gia!"; return; } //----------------------------------------------------- try { if (Session["PK_iTochucchungnhanID"] != null) PK_iTochucchungnhanID = Convert.ToInt32(Session["PK_iTochucchungnhanID"].ToString()); PK_iDanhgiatochucID = getThongtindanhgia(PK_iTochucchungnhanID); DanhgiatochucchungnhanEntity oDanhgia = new DanhgiatochucchungnhanEntity(); oDanhgia.sPhamvinghidinh = txtPhamvideghi.InnerText; oDanhgia.dNgaydanhgia = DateTime.Parse(txtNgaydg.Text + " " + txtGiodg.Text); oDanhgia.sCancudanhgia = txtCancudanhgia.InnerText; oDanhgia.sNoidungdanhgia = txtNoidungdanhgia.InnerText; oDanhgia.sKetquadanhgia = txtKetquadanhgia.InnerText; oDanhgia.sKetquadanhgia = txtKetquadanhgia.InnerText; oDanhgia.iKetquadanhgia = short.Parse(ddlKetluan.SelectedItem.Value); oDanhgia.sKiennghi = txtaKiennghi.InnerText; oDanhgia.FK_iTochucchungnhanID = PK_iTochucchungnhanID; oDanhgia.FK_iTruongdoandanhgiaID = int.Parse(ddlTruongdoan.SelectedItem.Value); if (PK_iDanhgiatochucID == 0) { PK_iDanhgiatochucID = DanhgiatochucchungnhanBRL.Add(oDanhgia); DoandanhgiatochucchungnhanEntity oDoandanhgiaTmp = new DoandanhgiatochucchungnhanEntity(); for (int i = 0; i < cblDoandanhgia.Items.Count; ++i) { if (cblDoandanhgia.Items[i].Selected) { oDoandanhgiaTmp.FK_iDanhgiatochucchungnhanID = PK_iDanhgiatochucID; oDoandanhgiaTmp.FK_iChuyengiaID = int.Parse(cblDoandanhgia.Items[i].Value); DoandanhgiatochucchungnhanBRL.Add(oDoandanhgiaTmp); } } if (!bTruongdoancotrongdanhsach) { oDoandanhgiaTmp.FK_iDanhgiatochucchungnhanID = PK_iDanhgiatochucID; oDoandanhgiaTmp.FK_iChuyengiaID = int.Parse(ddlTruongdoan.SelectedValue); DoandanhgiatochucchungnhanBRL.Add(oDoandanhgiaTmp); } //Cập nhật trạng thái duyệt của tổ chức được chứng nhận TochucchungnhanEntity oTochuc = TochucchungnhanBRL.GetOne(PK_iTochucchungnhanID); oTochuc.bDuyet = (Int32.Parse(ddlKetluan.SelectedItem.Value) == 1 ? true : false); oTochuc.iTrangthai = 2; // 2 - Hoàn chỉnh hồ sơ oTochuc.sKytuviettat = " "; // Cập nhập giá trị Trạng thái TochucchungnhanBRL.Edit(oTochuc); lblThongbao.Text = "Lưu thành công!"; btnExportToWord.Enabled = true; NapThongtin(PK_iTochucchungnhanID); } else { oDanhgia.PK_iDanhgiatochucchungnhanID = PK_iDanhgiatochucID; DanhgiatochucchungnhanBRL.Edit(oDanhgia); //Xóa danh sách đánh giá viên đã tồn tại List<DoandanhgiatochucchungnhanEntity> lstDoandanhgiaE = DoandanhgiatochucchungnhanBRL.GetByFK_iDanhgiatochucchungnhanID(PK_iDanhgiatochucID); for (int i = 0; i < lstDoandanhgiaE.Count; ++i) { DoandanhgiatochucchungnhanBRL.Remove(lstDoandanhgiaE[i].PK_iDoandanhgiatochucchungnhanID); } bTruongdoancotrongdanhsach = false; DoandanhgiatochucchungnhanEntity oDoandanhgiaTmp = new DoandanhgiatochucchungnhanEntity(); DoandanhgiatochucchungnhanEntity oDoandanhgiaFound = null; for (int i = 0; i < cblDoandanhgia.Items.Count; ++i) { oDoandanhgiaFound = null; oDoandanhgiaFound = lstDoandanhgiaE.Find( delegate(DoandanhgiatochucchungnhanEntity oDoanDGFind) { return oDoanDGFind.FK_iChuyengiaID == int.Parse(cblDoandanhgia.Items[i].Value); } ); if (oDoandanhgiaFound != null) { if (!cblDoandanhgia.Items[i].Selected) { DoandanhgiatochucchungnhanBRL.Remove(oDoandanhgiaFound.PK_iDoandanhgiatochucchungnhanID); } lstDoandanhgiaE.Remove(oDoandanhgiaFound); } else { if (cblDoandanhgia.Items[i].Selected) { oDoandanhgiaTmp.FK_iDanhgiatochucchungnhanID = PK_iDanhgiatochucID; oDoandanhgiaTmp.FK_iChuyengiaID = int.Parse(cblDoandanhgia.Items[i].Value); DoandanhgiatochucchungnhanBRL.Add(oDoandanhgiaTmp); } } } lstDoandanhgiaE = null; //Nếu trưởng đoàn không có trong danh sách thì thêm vào danh sách if (!bTruongdoancotrongdanhsach) { oDoandanhgiaTmp.FK_iDanhgiatochucchungnhanID = PK_iDanhgiatochucID; oDoandanhgiaTmp.FK_iChuyengiaID = int.Parse(ddlTruongdoan.SelectedValue); DoandanhgiatochucchungnhanBRL.Add(oDoandanhgiaTmp); } //Cập nhật trạng thái duyệt của tổ chức được chứng nhận TochucchungnhanEntity oTochuc = TochucchungnhanBRL.GetOne(PK_iTochucchungnhanID); oTochuc.bDuyet = (Int32.Parse(ddlKetluan.SelectedItem.Value) == 1 ? true : false); string sNamCapPhep = DateTime.Today.Year.ToString("yy"); string sSoThuTuCuaToChuc = TochucchungnhanBRL.GetAll().Count + 1 + ""; oTochuc.sMaso = "VietGAP-TS-" + sNamCapPhep + "-" + sSoThuTuCuaToChuc; TochucchungnhanBRL.Edit(oTochuc); lblThongbao.Text = "Cập nhật thành công!"; NapThongtin(PK_iTochucchungnhanID); } } catch(Exception ex) { } }