/// <summary> /// Lấy đối tượng pager /// </summary> private PagerInfoModel<PageObject> GetPagerData(FilterDataModel inputObject) { // Khởi tạo biến cục bộ var pagerResult = new PagerInfoModel<PageObject>(); var processDao = new MasterPagesDao(); // 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ư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 MasterPagesDao(); var localeCom = new LocaleCom(); var listUpdate = DataHelper.CreateList<PageObject>(); // 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.PageCd); // Duyệt danh sách locale foreach (var other in listLocaleDb) { // Gán dữ liệu cập nhật other.PageCd = info.PageCd; // other.Slug = info.Slug; // 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<PageObject>((k1, k2) => k1.PageCd == k2.PageCd && 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.PageCd == info.PageCd); var idxObj = listUpdate.IndexOf(updateObj); // Gán dữ liệu cập nhật listUpdate[idxObj].PageName = info.PageName; listUpdate[idxObj].SearchName = info.SearchName; listUpdate[idxObj].Content = info.Content; } 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); } // Duyệt danh sách dữ liệu foreach (var info in inputObject.ListData) { // Xử lý update đối tượng meta processDao.UpdateMeta(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; }