Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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;;
            }
        }