/// <summary> /// Lấy đối tượng pager /// </summary> private PagerInfoModel<RoomTypeObject> GetPagerData(FilterDataModel inputObject) { // Khởi tạo biến cục bộ var pagerResult = new PagerInfoModel<RoomTypeObject>(); var processDao = new MasterRoomTypesDao(); // Lấy đối tượng pager var pagerData = processDao.GetPagerData(inputObject); // Gán giá trị trả về pagerResult.ListData = pagerData.ListData; pagerResult.Total = pagerData.Total; // Kết quả trả về return pagerResult; }
/// <summary> /// Lấy thông tin. /// </summary> /// <param name="inputObject">DataModel</param> /// <returns>DataModel</returns> private InitDataModel GetInfo(InitDataModel inputObject) { // Khởi tạo biến cục bộ var getResult = new InitDataModel(); var processDao = new MasterRoomTypesDao(); var localeCom = new LocaleCom(); var codeCom = new CodeCom(); var localeModel = new LocaleModel<RoomTypeObject>(); // Map dữ liệu DataHelper.CopyObject(inputObject, getResult); // Lấy ngôn ngữ chuẩn var basicLocale = localeCom.GetDefault(DataComLogics.CD_APP_CD_CLN); // Trường hợp status là edit hoặc copy if (inputObject.IsEdit || inputObject.IsCopy) { // Khởi tạo biến cục bộ var listData = DataHelper.CreateList<RoomTypeObject>(); // Lấy danh sách dữ liệu đa ngôn ngữ var listLocale = processDao.GetListLocale(inputObject.TypeCd); // Khởi tạo biến dùng trong loop var rowNo = 0; var localeName = string.Empty; // Duyệt danh sách dữ liệu đa ngôn ngữ foreach (var info in listLocale) { // Lấy thông tin tên localeName = codeCom.GetName( WebContextHelper.LocaleCd, DataComLogics.GRPCD_CLN_LOCALES, info.LocaleCd, false); // Lấy số dòng if (info.LocaleCd != basicLocale) { info.RowNo = rowNo++; } // Gán thông tin dữ liệu info.LocaleName = localeName; // Xóa thông tin khi sao chép if (inputObject.IsCopy) { info.TypeName = string.Empty; info.SearchName = string.Empty; } // Thêm vào danh sách kết quả listData.Add(info); } // Tiến hành convert đối tượng locale localeModel = DataHelper.ToLocaleModel(basicLocale, listData); } // Khởi tạo giá trị init if (inputObject.IsAdd) { localeModel.DataInfo.TypeCd = DataHelper.GetUniqueKey(); localeModel.DataInfo.TypeName = string.Empty; localeModel.DataInfo.SearchName = string.Empty; localeModel.DataInfo.Slug = string.Empty; localeModel.DataInfo.FileCd = string.Empty; localeModel.DataInfo.LocaleCd = basicLocale; localeModel.DataInfo.SortKey = decimal.One; localeModel.DataInfo.DeleteFlag = false; if (inputObject.IsAddInit) { localeModel.ListLocale.Clear(); } } // Lấy danh sách code var listLocales = codeCom.GetDiv( WebContextHelper.LocaleCd, DataComLogics.GRPCD_CLN_LOCALES, basicLocale, false, false); var listDeleteFlag = codeCom.GetDivDeleteFlag(WebContextHelper.LocaleCd, false); // Lấy giá trị combo var cbLocales = DataHelper.ToComboItems(listLocales, string.Empty); var cbDeleteFlag = DataHelper.ToComboItems( listDeleteFlag, localeModel.DataInfo.DeleteFlag); // Gán giá trị trả về getResult.BasicLocale = basicLocale; getResult.LocaleModel = localeModel; getResult.CboLocales = cbLocales.ListItems; getResult.CboLocalesSeleted = cbLocales.SeletedValue; getResult.CboDeleteFlag = cbDeleteFlag.ListItems; getResult.LocaleModel.DataInfo.DeleteFlag = cbDeleteFlag.SeletedValueBoolean; // Kết quả trả về return getResult; }
/// <summary> /// Lưu thông tin. /// </summary> /// <param name="inputObject">DataModel</param> /// <returns>DataModel</returns> private SaveDataModel SaveInfo(SaveDataModel inputObject) { // Khởi tạo biến cục bộ var saveResult = new SaveDataModel(); var processDao = new MasterRoomTypesDao(); // Map dữ liệu DataHelper.CopyObject(inputObject, saveResult); // Lấy đối tượng dữ liệu var dataInfo = inputObject.LocaleModel.DataInfo; var listLocale = inputObject.LocaleModel.ListLocale; // Lấy danh sách dữ liệu đa ngôn ngữ var listLocaleDb = processDao.GetListLocale(dataInfo.TypeCd); // Khởi tạo comparer var comparer = new KeyEqualityComparer<RoomTypeObject>((k1, k2) => k1.TypeCd == k2.TypeCd && k1.LocaleCd == k2.LocaleCd ); // Xử lý tạo transaction var transaction = processDao.CreateTransaction(); // Lưu đối tượng dữ liệu if (inputObject.IsAdd) { // Xử lý insert đối tượng dữ liệu processDao.Insert(dataInfo, transaction); // Duyệt danh sách locale foreach (var info in listLocale) { // Gán dữ liệu cập nhật info.TypeCd = dataInfo.TypeCd; info.Slug = dataInfo.Slug; info.Price = dataInfo.Price; info.AdultPerRoom = dataInfo.AdultPerRoom; info.FileCd = dataInfo.FileCd; info.SortKey = dataInfo.SortKey; info.DeleteFlag = dataInfo.DeleteFlag; // Xử lý insert đối tượng dữ liệu processDao.Insert(info, transaction); } } else { // Xử lý update đối tượng dữ liệu processDao.Update(dataInfo, transaction); // Duyệt danh sách locale foreach (var info in listLocale) { // Gán dữ liệu cập nhật info.TypeCd = dataInfo.TypeCd; info.Slug = dataInfo.Slug; info.Price = dataInfo.Price; info.AdultPerRoom = dataInfo.AdultPerRoom; info.FileCd = dataInfo.FileCd; info.SortKey = dataInfo.SortKey; info.DeleteFlag = dataInfo.DeleteFlag; // Trường hợp không tồn tại dữ liệu if (listLocaleDb.Contains(info, comparer)) { // Xử lý update đối tượng dữ liệu processDao.Update(info, transaction); } else { // Xử lý insert đối tượng dữ liệu processDao.Insert(info, transaction); } } } // Xử lý lưu các thay đổi từ transaction processDao.CommitTransaction(transaction); // Thêm thông báo thành công saveResult.AddMessage("I_MSG_00004"); // Kết quả trả về return saveResult; }
/// <summary> /// Lưu thông tin. /// </summary> /// <param name="inputObject">DataModel</param> /// <returns>DataModel</returns> private SaveBatchDataModel SaveInfo(SaveBatchDataModel inputObject) { // Khởi tạo biến cục bộ var saveResult = new SaveBatchDataModel(); var processDao = new MasterRoomTypesDao(); var localeCom = new LocaleCom(); var listUpdate = DataHelper.CreateList<RoomTypeObject>(); // Map dữ liệu DataHelper.CopyObject(inputObject, saveResult); // Lấy ngôn ngữ chuẩn var basicLocale = localeCom.GetDefault(DataComLogics.CD_APP_CD_CLN); // Lấy danh sách thông tin locale chuẩn var listBasicLocale = inputObject.ListData.Where(o => o.LocaleCd == basicLocale); // Duyệt danh sách thông tin locale chuẩn foreach (var info in listBasicLocale) { // Thêm vào danh sách cập nhật listUpdate.Add(info); // Lấy danh sách locale var listLocaleDb = processDao.GetListOtherLocale(basicLocale, info.TypeCd); // Duyệt danh sách locale foreach (var other in listLocaleDb) { // Gán dữ liệu cập nhật other.TypeCd = info.TypeCd; other.Slug = info.Slug; other.Price = info.Price; other.AdultPerRoom = info.AdultPerRoom; other.FileCd = info.FileCd; other.SortKey = info.SortKey; other.DeleteFlag = info.DeleteFlag; // Thêm vào danh sách cập nhật listUpdate.Add(other); } } // Lấy danh sách thông tin locale var listOtherLocale = inputObject.ListData.Where(o => o.LocaleCd != basicLocale); // Khởi tạo comparer var comparer = new KeyEqualityComparer<RoomTypeObject>((k1, k2) => k1.TypeCd == k2.TypeCd && k1.LocaleCd == k2.LocaleCd ); // Duyệt danh sách thông tin locale foreach (var info in listOtherLocale) { if (listUpdate.Contains(info, comparer)) { // Lấy thông tin cập nhật var updateObj = listUpdate.Single(o => o.LocaleCd == info.LocaleCd && o.TypeCd == info.TypeCd); var idxObj = listUpdate.IndexOf(updateObj); // Gán dữ liệu cập nhật listUpdate[idxObj].TypeName = info.TypeName; listUpdate[idxObj].SearchName = info.SearchName; } else { // Thêm vào danh sách cập nhật listUpdate.Add(info); } } // Xử lý tạo transaction var transaction = processDao.CreateTransaction(); // Duyệt danh sách dữ liệu foreach (var info in listUpdate) { // Xử lý update đối tượng dữ liệu processDao.Update(info, transaction); } // Xử lý lưu các thay đổi từ transaction processDao.CommitTransaction(transaction); // Thêm thông báo thành công saveResult.AddMessage("I_MSG_00004"); // Kết quả trả về return saveResult; }