/// <summary> /// Thủ tục thêm một Module mới /// </summary> /// <param name="_strColumnRef">Mã tham chiếu đến cột sẽ chứa Module</param> internal void AddModule(string _strColumnRef) { // Nạp cấu trúc portal PortalDefinition pd = PortalDefinition.Load(); // Tìm cột sẽ chứa Module mới PortalDefinition.Column _objColumnContainer = pd.GetColumn(_strColumnRef); if (_objColumnContainer != null) { // Tạo Module mới PortalDefinition.Module _objNewModule = PortalDefinition.Module.Create(); // Thêm Module mới vào danh sách Module của cột _objColumnContainer.ModuleList.Add(_objNewModule); // Lưu cấu trúc Portal pd.Save(); // Nạp lại thông tin Tab hiện thời LoadData(CurrentReference); // Hiển thị form sửa thông tin Module EditModule(_objNewModule.reference); } }
/// <summary> /// Thủ tục thực hiện chuyển vị trí của Module đã chọn xuống 1 mức /// </summary> /// <param name="idx">Vị trí hiện thời</param> /// <param name="list">Danh sách Module</param> internal void MoveModuleDown(int idx, ModuleList list) { // Nạp cấu trúc Portal PortalDefinition pd = PortalDefinition.Load(); // Lấy thông tin cột chứa Module hiện thời PortalDefinition.Column _objColumnContainer = pd.GetColumn(list.ContainerColumnReference); // Lấy danh sách Module của cột ArrayList _arrModuleList = _objColumnContainer.ModuleList; // Nếu Module đang ở mức cuối cùng thì kết thúc thủ tục if (idx >= _arrModuleList.Count - 1) { return; } // Lấy thông tin Module hiện thời từ danh sách Module PortalDefinition.Module m = (PortalDefinition.Module)_arrModuleList[idx]; // Gỡ Module ra khỏi vị trí hiện thời _arrModuleList.RemoveAt(idx); // Chèn Module vào vị trí mới _arrModuleList.Insert(idx + 1, m); // Lưu cấu trúc Portal pd.Save(); // Rebind LoadData(CurrentReference); ShowCurrentEditingColumn(); }
protected void btnBindModuleEditForm_Click(object sender, EventArgs e) { string tab = (string)ViewState["TabReference"]; PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(tab); string arg = Request.Form["pageArg"]; string moduleRef = string.Empty; string moduleType = string.Empty; string columnRef = string.Empty; string title = string.Empty; if (arg.Split("$".ToCharArray()).Length == 4) { moduleRef = arg.Split("$".ToCharArray())[0]; moduleType = arg.Split("$".ToCharArray())[1]; title = arg.Split("$".ToCharArray())[2]; columnRef = arg.Split("$".ToCharArray())[3]; } else { return; } PortalDefinition.Column column = pd.GetColumn(columnRef); if (moduleRef == null || moduleRef == string.Empty || moduleRef.ToLower() == "null") { module = PortalDefinition.Module.Create(); module.type = moduleType; module.title = title; moduleRef = module.reference; } else { module = new PortalDefinition.Module(); module.type = moduleType; module.title = title; module.reference = moduleRef; } if (module != null) { module.LoadModuleSettings(); module.LoadRuntimeProperties(); moduleSettings = module.moduleSettings; moduleRuntimeSettings = module.moduleRuntimeSettings; lblModuleType.Text = moduleType; txtReference.Text = module.reference; rptRuntimeProperties.DataSource = module.GetRuntimePropertiesSource(true); rptRuntimeProperties.DataBind(); upEditModuleForm.Update(); } }
private void ShowCurrentEditingColumn() { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Column _objCurrentColumn = pd.GetColumn(CurrentColumnReference); if (_objCurrentColumn != null) { EditColumn(_objCurrentColumn.ColumnReference); } }
public void LoadData(string _strColumnRef) { PortalDefinition _objPortal = PortalDefinition.Load(); PortalDefinition.Column _objColumn = _objPortal.GetColumn(_strColumnRef); if (_objColumn != null) { moduleList = _objColumn.ModuleList; Bind(); } }
public void LoadColumnList(string _strColumnRef) { PortalDefinition _objPortal = PortalDefinition.Load(); PortalDefinition.Column _objColumn = _objPortal.GetColumn(_strColumnRef); if (_objColumn != null) { LoadColumnList(_objColumn.Columns); lnkAddColumn.Visible = false; lnkAddSubColumn.Visible = true; lnkAddSubColumn.CommandArgument = _objColumn.ColumnReference; lblColumnListTitle.LanguageRef = "SubColumnList"; } }
protected void OnDelete(object sender, EventArgs args) { if (Parent is Tab) { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(CurrentTabReference); PortalDefinition.Column _objColumnBeingDeleted = pd.GetColumn(CurrentColumnReference); if (_objColumnBeingDeleted != null) { t.DeleteColumn(CurrentColumnReference); pd.Save(); if (Delete != null) { Delete(CurrentColumnReference, _objColumnBeingDeleted.ColumnParent == null ? Guid.NewGuid().ToString() : _objColumnBeingDeleted.ColumnReference); } } } else if (Parent is Template) { TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template t = td.GetTemplate(CurrentTabReference); PortalDefinition.Column _objColumnBeingDeleted = td.GetColumn(CurrentColumnReference); if (_objColumnBeingDeleted != null) { t.DeleteColumn(CurrentColumnReference); td.Save(); if (Delete != null) { Delete(CurrentColumnReference, _objColumnBeingDeleted.ColumnParent == null ? Guid.NewGuid().ToString() : _objColumnBeingDeleted.ColumnReference); } } } // Hopefully we where redirected here! }
/// <summary> /// Hàm nạp dữ liệu về một cột /// </summary> /// <param name="_strColumnRef">Mã tham chiếu của cột cần sửa</param> /// <param name="_strTabRef">Mã tham chiếu của Tab chứa cột</param> public void LoadData(string _strColumnRef, string _strTabRef) { PortalDefinition.Column _objColumn = null; if (Parent is Tab) { // Lấy thông tin về cột cần sửa PortalDefinition pd = PortalDefinition.Load(); _objColumn = pd.GetColumn(_strColumnRef); } else if (Parent is Template) { TemplateDefinition td = TemplateDefinition.Load(); _objColumn = td.GetColumn(_strColumnRef); } if (_objColumn != null) { // Hiển thị thông tin về cột txtTitle.Text = _objColumn.ColumnName; txtColWidth.Text = _objColumn.ColumnWidth.ToString(); ltrColumnReference.Text = _objColumn.ColumnReference; chkDefaultColumnWidth.Checked = _objColumn.ColumnWidth == ""; //txtColWidth.ReadOnly = _objColumn.ColumnWidth == ""; txtCustomStyle.Text = _objColumn.ColumnCustomStyle; // Nạp danh sách các cấp độ có thể có cho cột hiện thời drdColumnLevel.DataSource = LoadAvaiableColumnLevels(_objColumn); drdColumnLevel.DataBind(); drdColumnLevel.SelectedIndex = (drdColumnLevel.Items.FindByValue(_objColumn.ColumnLevel.ToString()) != null) ? drdColumnLevel.Items.IndexOf( drdColumnLevel.Items.FindByValue( _objColumn.ColumnLevel.ToString())) : 0; CurrentColumnReference = _strColumnRef; CurrentTabReference = _strTabRef; CurrentTemplateReference = _strTabRef; chkDefaultColumnWidth.Attributes.Add("onclick", txtColWidth.ClientID + ".readOnly = this.checked;"); } }
protected void OnAddSubColumn(object sender, CommandEventArgs e) { if (Parent is Tab) { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Column _objCurrentColumn = pd.GetColumn(e.CommandArgument.ToString()); if (_objCurrentColumn != null) { PortalDefinition.Column _objNewColumn = PortalDefinition.Column.Create(_objCurrentColumn); _objCurrentColumn.Columns.Add(_objNewColumn); pd.Save(); if (AddSubColumn != null) { AddSubColumn(this, _objNewColumn); } } } else if (Parent is Template) { TemplateDefinition td = TemplateDefinition.Load(); PortalDefinition.Column _objCurrentColumn = td.GetColumn(e.CommandArgument.ToString()); if (_objCurrentColumn != null) { PortalDefinition.Column _objNewColumn = PortalDefinition.Column.Create(_objCurrentColumn); _objCurrentColumn.Columns.Add(_objNewColumn); td.Save(); if (AddSubColumn != null) { AddSubColumn(this, _objNewColumn); } } } }
/// <summary> /// Thủ tục lưu các thông tin đã xác lập của 1 Cột /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected void OnSave(object sender, EventArgs args) { try { if (Page.IsValid) { // Save PortalDefinition.Column _objColumn = null; PortalDefinition pd = null; TemplateDefinition td = null; if (Parent is Tab) { // Lấy thông tin về cột cần sửa pd = PortalDefinition.Load(); _objColumn = pd.GetColumn(CurrentColumnReference); } else if (Parent is Template) { td = TemplateDefinition.Load(); _objColumn = td.GetColumn(CurrentColumnReference); } if (_objColumn != null) { // Cập nhật lại tên cột và độ rộng của cột _objColumn.ColumnName = txtTitle.Text; // Cập nhật màu nền của cột _objColumn.ColumnCustomStyle = txtCustomStyle.Text; // Cập nhật mức độ của cột _objColumn.ColumnLevel = Convert.ToInt32(drdColumnLevel.SelectedValue); //lay ve do rong cua cot string strColWidth = txtColWidth.Text; try { _objColumn.ColumnWidth = chkDefaultColumnWidth.Checked ? "" : strColWidth; } catch { // Nếu có lỗi, lấy độ rộng mặc định _objColumn.ColumnWidth = ""; } } if (Parent is Tab) { pd.Save(); } else if (Parent is Template) { td.Save(); } CurrentColumnReference = _objColumn.ColumnReference; if (Save != null) { Save(this, new EventArgs()); } } } catch (Exception e) { lbError.Text = e.Message; } }
internal void MoveColumnRight(string _strColumnReference) { // Nạp cấu trúc Portal PortalDefinition _objPortal = PortalDefinition.Load(); // Lấy thông tin về cột cần dịch chuyển PortalDefinition.Column _objSelectedColumn = _objPortal.GetColumn(_strColumnReference); // Nếu cột cần dịch chuyển không tồn tại thì kết thúc hàm if (_objSelectedColumn != null) { // Tìm kiếm danh sách cột trong đó có cột đang xét PortalDefinition.Column _objParentColumn = _objSelectedColumn.ColumnParent; ArrayList _arrColumnsList = null; // Nếu cột cha rỗng thì cột đang xét trực thuộc Tab if (_objParentColumn == null) { // Lấy thông tin Tab hiện thời PortalDefinition.Tab _objCurrentTab = _objPortal.GetTab(CurrentReference); if (_objCurrentTab != null) { // Lấy danh sách cột của Tab _arrColumnsList = _objCurrentTab.Columns; } } else { // Nếu cột đang xét là cột con của 1 cột khác, thì trả về danh sách các cột đồng cấp _arrColumnsList = _objParentColumn.Columns; } // Biến lưu vị trí của cột đã chọn trong danh sách int _intCurrentColumnIndex = 0; // Biến lưu trữ số cột đồng mức với cột đã chọn int _intSameLevelColumnsCount = 0; // Kiểm duyệt danh sách cột đồng cấp // Đếm cột có cùng Level for (int _intColumnCount = 0; _intColumnCount < _arrColumnsList.Count; _intColumnCount++) { PortalDefinition.Column _objColumn = _arrColumnsList[_intColumnCount] as PortalDefinition.Column; if (_objColumn.ColumnLevel == _objSelectedColumn.ColumnLevel) { if (_objColumn.ColumnReference == _objSelectedColumn.ColumnReference) { _intCurrentColumnIndex = _intSameLevelColumnsCount; } _intSameLevelColumnsCount++; } } // Duyệt danh sách các cột cùng cấp if (_arrColumnsList != null && _intSameLevelColumnsCount > 0) { // Để di chuyển sang phải --> không thể đang là vị trí cuối cùng if (_intCurrentColumnIndex >= (_intSameLevelColumnsCount - 1)) { return; } else { // Di chuyển cột đã chọn sang trái _arrColumnsList.RemoveAt(_intCurrentColumnIndex); _arrColumnsList.Insert(_intCurrentColumnIndex + 1, _objSelectedColumn); } } } // Lưu cấu trúc Portal _objPortal.Save(); // Nạp dữ liệu Tab LoadData(CurrentReference); // Nạp dữ liệu cột if (CurrentColumnReference != "") { EditColumn(CurrentColumnReference); } }