Пример #1
0
 /// <summary>
 /// Kiểm tra thông tin.
 /// </summary>
 /// <param name="inputObject">DataModel</param>
 private void Check(SaveDataModel inputObject)
 {
     // Khởi tạo biến cục bộ
     var masterDataCom = new MasterDataCom();
     var metaCom = new MetaCom();
     var localeCom = new LocaleCom();
     var msgs = DataHelper.CreateList<Message>();
     // Lấy ngôn ngữ chuẩn
     var basicLocale = localeCom.GetDefault(DataComLogics.CD_APP_CD_CLN);
     // Lấy đối tượng dữ liệu
     var dataInfo = inputObject.LocaleModel.DataInfo;
     var listLocale = inputObject.LocaleModel.ListLocale;
     // Kiểm tra bắt buộc
     if (DataCheckHelper.IsNull(dataInfo.LocaleCd)) {
         msgs.Add(MessageHelper.GetMessage("E_MSG_00001", "P_CM_00012"));
     }
     if (DataCheckHelper.IsNull(dataInfo.TourCd)) {
         msgs.Add(MessageHelper.GetMessage("E_MSG_00001", "ADM_MA_TOURS_00001"));
     }
     if (DataCheckHelper.IsNull(dataInfo.TourName)) {
         msgs.Add(MessageHelper.GetMessage("E_MSG_00001", "ADM_MA_TOURS_00002"));
     }
     if (DataCheckHelper.IsNull(dataInfo.Slug)) {
         msgs.Add(MessageHelper.GetMessage("E_MSG_00001", "P_CM_00027"));
     }
     // Kiểm tra danh sách lỗi
     if (!DataCheckHelper.IsNull(msgs)) {
         throw new ExecuteException(msgs);
     }
     // Kiểm tra locale hợp lệ
     if (dataInfo.LocaleCd != basicLocale) {
         msgs.Add(MessageHelper.GetMessage("E_MSG_00030"));
     }
     // Kiểm tra danh sách lỗi
     if (!DataCheckHelper.IsNull(msgs)) {
         throw new ExecuteException(msgs);
     }
     // Kiểm tra dữ liệu tồn tại
     var isExist = masterDataCom.IsExistTour(
         dataInfo.LocaleCd, dataInfo.TourCd, true);
     var isExistMeta = metaCom.IsExist(
         dataInfo.LocaleCd, W150901Logics.GRPMETA_MA_TOURS, dataInfo.TourCd, true);
     // Kiểm tra dữ liệu tồn tại trường hợp status là add
     if (inputObject.IsAdd && (isExist || isExistMeta)) {
         msgs.Add(MessageHelper.GetMessage("E_MSG_00017", "ADM_MA_TOURS_00006"));
     }
     // Kiểm tra dữ liệu tồn tại trường hợp status là edit
     if (inputObject.IsEdit && (!isExist || !isExistMeta)) {
         msgs.Add(MessageHelper.GetMessage("E_MSG_00016", "ADM_MA_TOURS_00006"));
     }
     // Kiểm tra danh sách lỗi
     if (!DataCheckHelper.IsNull(msgs)) {
         throw new ExecuteException(msgs);
     }
     // Kiểm tra giá trị duy nhất
     var isUnique = masterDataCom.IsUniqueTour(dataInfo.TourCd, dataInfo.Slug);
     if (!isUnique) {
         msgs.Add(MessageHelper.GetMessage("E_MSG_00017", "P_CM_00027"));
     }
     // Kiểm tra danh sách lỗi
     if (!DataCheckHelper.IsNull(msgs)) {
         throw new ExecuteException(msgs);
     }
     // Khởi tạo biến dùng trong loop
     var i = 1;
     var flagError = false;
     // Duyệt danh sách ngôn ngữ
     foreach (var info in listLocale) {
         // Gán trạng thái lỗi bằng false
         flagError = false;
         // Kiểm tra bắt buộc
         if (DataCheckHelper.IsNull(info.LocaleCd)) {
             flagError = true;
             msgs.Add(MessageHelper.GetMessageForList(
                 "P_CM_00020", i, "E_MSG_00001", "P_CM_00012"));
         }
         if (DataCheckHelper.IsNull(info.TourName)) {
             flagError = true;
             msgs.Add(MessageHelper.GetMessageForList(
                 "P_CM_00020", i, "E_MSG_00001", "ADM_MA_TOURS_00002"));
         }
         // Trường hợp lỗi thì đi đến record tiếp theo
         if (flagError) {
             // Tăng giá trị i
             i++;
             // Đi đến record tiếp theo
             continue;
         }
         // Kiểm tra giá trị duy nhất
         var comparer = new KeyEqualityComparer<TourObject>((k1, k2) =>
                 k1.RowNo != k2.RowNo
                 && k1.LocaleCd == k2.LocaleCd
         );
         if (dataInfo.LocaleCd == info.LocaleCd || listLocale.Contains(info, comparer)) {
             flagError = true;
             msgs.Add(MessageHelper.GetMessageForList(
                 "P_CM_00020", i, "E_MSG_00017", "P_CM_00012"));
         }
         // Trường hợp lỗi thì đi đến record tiếp theo
         if (flagError) {
             // Tăng giá trị i
             i++;
             // Đi đến record tiếp theo
             continue;
         }
         // Tăng giá trị i
         i++;
     }
     // Kiểm tra danh sách lỗi
     if (!DataCheckHelper.IsNull(msgs)) {
         throw new ExecuteException(msgs);
     }
 }
Пример #2
0
 /// <summary>
 /// Kiểm tra thông tin.
 /// </summary>
 /// <param name="inputObject">DataModel</param>
 private void Check(SaveBatchDataModel inputObject)
 {
     // Khởi tạo biến cục bộ
     var masterDataCom = new MasterDataCom();
     var metaCom = new MetaCom();
     var msgs = DataHelper.CreateList<Message>();
     // Kiểm tra bắt buộc
     if (DataCheckHelper.IsNull(inputObject.ListData)) {
         msgs.Add(MessageHelper.GetMessage("E_MSG_00001", "P_CM_00015"));
     }
     // Kiểm tra danh sách lỗi
     if (!DataCheckHelper.IsNull(msgs)) {
         throw new ExecuteException(msgs);
     }
     // Khởi tạo biến dùng trong loop
     var i = 1;
     // Duyệt danh sách dữ liệu
     foreach (var info in inputObject.ListData) {
         // Khởi tạo biến cục bộ
         var flagError = false;
         // Kiểm tra bắt buộc
         if (DataCheckHelper.IsNull(info.LocaleCd)) {
             flagError = true;
             msgs.Add(MessageHelper.GetMessageForList(
                 "P_CM_00015", i, "E_MSG_00001", "P_CM_00012"));
         }
         if (DataCheckHelper.IsNull(info.TourCd)) {
             flagError = true;
             msgs.Add(MessageHelper.GetMessageForList(
                 "P_CM_00015", i, "E_MSG_00001", "ADM_MA_TOURS_00001"));
         }
         if (DataCheckHelper.IsNull(info.TourName)) {
             flagError = true;
             msgs.Add(MessageHelper.GetMessageForList(
                 "P_CM_00015", i, "E_MSG_00001", "ADM_MA_TOURS_00002"));
         }
         if (DataCheckHelper.IsNull(info.Slug)) {
             flagError = true;
             msgs.Add(MessageHelper.GetMessageForList(
                 "P_CM_00015", i, "E_MSG_00001", "P_CM_00027"));
         }
         // Trường hợp lỗi thì đi đến record tiếp theo
         if (flagError) {
             // Tăng giá trị i
             i++;
             // Đi đến record tiếp theo
             continue;
         }
         // Kiểm tra dữ liệu tồn tại
         var isExist = masterDataCom.IsExistTour(
             info.LocaleCd, info.TourCd, true);
         var isExistMeta = metaCom.IsExist(
             info.LocaleCd, W150901Logics.GRPMETA_MA_TOURS, info.TourCd, true);
         if (!isExist || !isExistMeta) {
             flagError = true;
             msgs.Add(MessageHelper.GetMessageForList(
                 "P_CM_00015", i, "E_MSG_00016", "ADM_MA_TOURS_00006"));
         }
         // Trường hợp lỗi thì đi đến record tiếp theo
         if (flagError) {
             // Tăng giá trị i
             i++;
             // Đi đến record tiếp theo
             continue;
         }
         // Kiểm tra giá trị duy nhất
         var isUnique = masterDataCom.IsUniqueTour(info.TourCd, info.Slug);
         var comparer = new KeyEqualityComparer<TourObject>((k1, k2) =>
                 k1.TourCd != k2.TourCd
                 && k1.Slug == k2.Slug
         );
         if (!isUnique || inputObject.ListData.Contains(info, comparer)) {
             flagError = true;
             msgs.Add(MessageHelper.GetMessageForList(
                 "P_CM_00015", i, "E_MSG_00017", "P_CM_00027"));
         }
         // Trường hợp lỗi thì đi đến record tiếp theo
         if (flagError) {
             // Tăng giá trị i
             i++;
             // Đi đến record tiếp theo
             continue;
         }
         // Tăng giá trị i
         i++;
     }
     // Kiểm tra danh sách lỗi
     if (!DataCheckHelper.IsNull(msgs)) {
         throw new ExecuteException(msgs);
     }
 }