public new void Bottom() { if (TotalPage <= 1) { CurrentIndexPage = 1; BindDataSource <IBaseModel>(); SetPagingState(); } CurrentIndexPage = TotalPage; BindDataSource <IBaseModel>(); SetPagingState(); if (CurrentModel == null) { MessageForm.Warning(this, "Warning", Resources.no_found_data); EnabledForm(false); ClearForm(); return; } EnabledForm(true); _PopulateForm(CurrentModel as T); StateChange = EnumStateChange.Select; CrudState = EnumStateChange.Select; RefreshToolbarState(); }
public virtual void New() { if (Dirty) { var resultBtn = MessageForm.Ask(this, Resources.title_information, Resources.dirty_form); if (resultBtn == DialogResult.No) { return; } //if (CurrentModel != null && CurrentModel.Id > 0) Save(); } StateChange = EnumStateChange.Insert; CrudState = EnumStateChange.Insert; rbData_New.Enabled = true; rbData_Save.Enabled = true; rbData_Delete.Enabled = false; tbxSearch_Code.Clear(); RefreshToolbarState(); //kalau dipanggil di masing-masing form aja ok kan? //ClearForm(); CurrentModel = new T(); EnabledForm(true); BeforeNew(); }
public virtual void Save() { if (!ValidateForm()) { MessageBox.Show(Resources.alert_empty_field, @"Warning"); return; } if (!ValidateFormWithAlert()) { return; } CurrentModel = PopulateModel(CurrentModel as T); using (var scope = new System.Transactions.TransactionScope()) { if (CurrentModel.Id == 0) { InsertTracking = true; CurrentModel.Rowstatus = true; CurrentModel.Rowversion = DateTime.Now; CurrentModel.Createddate = DateTime.Now; CurrentModel.Createdby = BaseControl.UserLogin; ((T2)DataManager).Save <T>(CurrentModel); SaveDetail(); } else { InsertTracking = false; CurrentModel.Rowversion = DateTime.Now; CurrentModel.Modifieddate = DateTime.Now; CurrentModel.Modifiedby = BaseControl.UserLogin; ((T2)DataManager).Update <T>(CurrentModel); SaveDetail(true); } scope.Complete(); } TotalPage = 1; StateChange = EnumStateChange.Update; CrudState = EnumStateChange.Update; RefreshToolbarState(); Dirty = false; AfterSave(); form.Activate(); }
public virtual void Previous() { CurrentIndexPage--; BindDataSource <IBaseModel>(); SetPagingState(); if (CurrentModel == null) { MessageForm.Warning(this, "Warning", Resources.no_found_data); EnabledForm(false); FirstState(); return; } EnabledForm(true); _PopulateForm(CurrentModel as T); StateChange = EnumStateChange.Select; CrudState = EnumStateChange.Select; RefreshToolbarState(); }
protected virtual void RefreshToolbarState() { LastSearchCode = tbxSearch_Code.Text; if (CurrentModel != null && CurrentModel.Id > 0 && StateChange == EnumStateChange.Update) { return; } if (StateChange == EnumStateChange.Idle) { rbNavigation_First.Enabled = true; rbNavigation_Previous.Enabled = false; rbNavigation_Next.Enabled = false; rbNavigation_Last.Enabled = true; rbData_Save.Enabled = false; rbData_Delete.Enabled = false; rbLayout_Print.Enabled = false; rbLayout_PrintPreview.Enabled = false; rbLayout_Info.Enabled = false; } else { rbNavigation_First.Enabled = CurrentIndexPage > 1 || TotalPage == 1 && StateChange == EnumStateChange.Insert || TotalPage == 0; rbNavigation_Previous.Enabled = CurrentIndexPage > 1; rbNavigation_Next.Enabled = CurrentIndexPage < TotalPage; rbNavigation_Last.Enabled = CurrentIndexPage < TotalPage; } if (TotalPage > 0) { if (StateChange != EnumStateChange.Insert) { StateChange = EnumStateChange.Update; } rbData_Delete.Enabled = StateChange != EnumStateChange.Insert; rbData_Save.Enabled = (StateChange == EnumStateChange.Insert || StateChange == EnumStateChange.Update); rbPage_Refresh.Enabled = rbData_Save.Enabled; rbLayout_Info.Enabled = rbData_Save.Enabled; rbLayout_Print.Enabled = true; rbLayout_PrintPreview.Enabled = true; } else { if (StateChange != EnumStateChange.Insert) { StateChange = EnumStateChange.Idle; } } if (!AllowView && !AllowViewAll) { rbNavigation_First.Visibility = BarItemVisibility.Never; rbNavigation_Previous.Visibility = BarItemVisibility.Never;; rbNavigation_Next.Visibility = BarItemVisibility.Never;; rbNavigation_Last.Visibility = BarItemVisibility.Never;; rbPage_Refresh.Visibility = BarItemVisibility.Never;; } if (!AllowCreate) { rbData_New.Visibility = BarItemVisibility.Never;; } if (!AllowEdit) { rbData_Save.Visibility = BarItemVisibility.Never;; } if (!AllowDelete) { rbData_Delete.Visibility = BarItemVisibility.Never;; } if (!AllowCreate && !AllowEdit && !AllowDelete) { rbData.Visible = false; } if (!AllowPrint) { rbLayout_Print.Visibility = BarItemVisibility.Never;; rbLayout_PrintPreview.Visibility = BarItemVisibility.Never;; } }