Example #1
0
        /// <summary>
        /// Runs BindData for ServerModeSource
        /// </summary>
        protected override void OnStart()
        {
            base.OnStart();
            ApplySecurity();

            LayoutControlGrid.RegisterUserCustomizatonForm(typeof(Essential.UTL.CustomizationForm));
            GridView.OptionsMenu.ShowConditionalFormattingItem = true;
            GridView.OptionsFilter.DefaultFilterEditorView     = DevExpress.XtraEditors.FilterEditorViewMode.VisualAndText;
            LoadLayout();
        }
Example #2
0
        private void GridView_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            LayoutControlGrid.Validate();
            var statements = this.XPCollection.Cast <CDS.Client.DataAccessLayer.XDB.GLX_Account>();

            if (statements.Count(n => n.EmailStatement) > 0 || statements.Count(n => n.PrintStatement) > 0)
            {
                btnProcessStatements.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
            }
            else
            {
                btnProcessStatements.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
            }
        }
Example #3
0
        private void btnProcessStatements_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            using (ProcessStatementsDialogue dlg = new ProcessStatementsDialogue())
            {
                LayoutControlGrid.Validate();


                using (var uow = new DevExpress.Xpo.Session())
                {
                    XDB.ORG_Company company = null;
                    foreach (XDB.GLX_Account account in this.XPCollection)
                    {
                        switch (IsCustomer)
                        {
                        case true: company = uow.Query <XDB.ORG_Company>().SingleOrDefault(n => n.TypeId.Id == (byte)BL.ORG.ORG_Type.Customer && n.EntityId.EntityId.CodeSub == account.EntityId.CodeSub);
                            break;

                        case false: company = uow.Query <XDB.ORG_Company>().SingleOrDefault(n => n.TypeId.Id == (byte)BL.ORG.ORG_Type.Supplier && n.EntityId.EntityId.CodeSub == account.EntityId.CodeSub);
                            break;
                        }

                        if (account.PrintStatement || account.EmailStatement)
                        {
                            dlg.Statements.Add(new CDS.Client.DataAccessLayer.Types.Statement()
                            {
                                EntityId    = account.EntityId.Id,
                                Code        = account.EntityId.CodeSub,
                                Name        = account.EntityId.Name,
                                Contact     = company.AccountsContactName,
                                Email       = company.AccountsContactEmail,
                                ShouldPrint = account.PrintStatement,
                                ShouldEmail = account.EmailStatement
                            });
                        }
                    }
                }
                dlg.ShowDialog();
            }

            if (StatementTask != null && StatementTask.Status != System.Threading.Tasks.TaskStatus.RanToCompletion)
            {
                Essential.BaseAlert.ShowAlert("Processing statements", "Statements will now be processed in the background.\nClick on \"View Active Processing\" to check progress.", Essential.BaseAlert.Buttons.Ok, Essential.BaseAlert.Icons.Information);
                btnViewActiveProcessing.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
                btnProcessStatements.Visibility    = DevExpress.XtraBars.BarItemVisibility.Never;
                UpdateTimer.Start();
            }
        }
Example #4
0
 private void GridView_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
 {
     if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column)
     {
         DevExpress.XtraGrid.Menu.GridViewColumnMenu menu = e.Menu as DevExpress.XtraGrid.Menu.GridViewColumnMenu;
         menu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Customize", new EventHandler((menusender, menue) => { LayoutControlGrid.ShowCustomizationForm(); }), CDS.Client.Desktop.Essential.Properties.Resources.layout_16)
         {
             BeginGroup = true
         });
     }
 }
Example #5
0
        private void LoadLayout()
        {
            string screenName = this.GetType().FullName;

            DB.SYS_Layout sys_layout = DataContext.EntitySystemContext.SYS_Layout.FirstOrDefault(n => n.Screen == screenName && n.UserId == BL.ApplicationDataContext.Instance.LoggedInUser.Id);
            if (sys_layout != null)
            {
                using (MemoryStream stream = new MemoryStream())
                {
                    StreamWriter writer = new StreamWriter(stream);
                    writer.Write(sys_layout.Custom);
                    writer.Flush();
                    stream.Position = 0;
                    LayoutControlGrid.RestoreLayoutFromStream(stream);
                }
            }

            foreach (var control in LayoutControlGrid.Controls)
            {
                if (control is DevExpress.XtraGrid.GridControl)
                {
                    foreach (DevExpress.XtraGrid.Views.Grid.GridView view in (control as DevExpress.XtraGrid.GridControl).Views)
                    {
                        string gridName = screenName + "+" + view.Name;

                        DB.SYS_Layout sys_layout_grid = DataContext.EntitySystemContext.SYS_Layout.FirstOrDefault(n => n.Screen == gridName && n.UserId == BL.ApplicationDataContext.Instance.LoggedInUser.Id);

                        if (sys_layout_grid != null)
                        {
                            using (MemoryStream stream = new MemoryStream())
                            {
                                StreamWriter writer = new StreamWriter(stream);
                                writer.Write(sys_layout_grid.Custom);
                                writer.Flush();
                                stream.Position = 0;
                                view.RestoreLayoutFromStream(stream);//, DevExpress.Utils.OptionsLayoutBase.FullLayout);
                            }
                        }
                    }
                }
            }
            foreach (var control in Controls)
            {
                if (control is DevExpress.XtraBars.Ribbon.RibbonControl)
                {
                    string ribbonQuickAccessToolbarName = screenName + "+" + "QuickAccessToolbar";

                    DB.SYS_Layout sys_layout_quick_access = DataContext.EntitySystemContext.SYS_Layout.FirstOrDefault(n => n.Screen == ribbonQuickAccessToolbarName && n.UserId == BL.ApplicationDataContext.Instance.LoggedInUser.Id);

                    if (sys_layout_quick_access != null)
                    {
                        using (MemoryStream stream = new MemoryStream())
                        {
                            StreamWriter writer = new StreamWriter(stream);
                            writer.Write(sys_layout_quick_access.Custom);
                            writer.Flush();
                            stream.Position = 0;
                            RibbonControl.Toolbar.RestoreLayoutFromStream(stream);//, DevExpress.Utils.OptionsLayoutBase.FullLayout);
                        }
                    }
                }
            }
        }
Example #6
0
        private void GridView_MouseDown(object sender, MouseEventArgs e)
        {
            GridView    view = sender as GridView;
            Point       p    = view.GridControl.PointToClient(MousePosition);
            GridHitInfo info = view.CalcHitInfo(p);

            if (info.HitTest == GridHitTest.Column)
            {
                LayoutControlGrid.Validate();
                var statements = this.XPCollection.Cast <CDS.Client.DataAccessLayer.XDB.GLX_Account>();

                bool clearEmail = false, clearPrint = false;
                if (info.Column == colEmailStatement && statements.Count(n => n.EmailStatement) > 0)
                {
                    clearEmail = true;
                }
                else
                if (info.Column == colPrintStatement && statements.Count(n => n.PrintStatement) > 0)
                {
                    clearPrint = true;
                }

                using (var uow = new DevExpress.Xpo.Session())
                {
                    XDB.ORG_Company company = null;

                    foreach (CDS.Client.DataAccessLayer.XDB.GLX_Account account in XPCollection)
                    {
                        if (account.EntityId.AccountBalance == 0.00M)
                        {
                            continue;
                        }

                        switch (IsCustomer)
                        {
                        case true: company = uow.Query <XDB.ORG_Company>().SingleOrDefault(n => n.TypeId.Id == (byte)BL.ORG.ORG_Type.Customer && n.EntityId.EntityId.CodeSub == account.EntityId.CodeSub);
                            break;

                        case false: company = uow.Query <XDB.ORG_Company>().SingleOrDefault(n => n.TypeId.Id == (byte)BL.ORG.ORG_Type.Supplier && n.EntityId.EntityId.CodeSub == account.EntityId.CodeSub);
                            break;
                        }

                        if (clearEmail)
                        {
                            account.EmailStatement = false;
                        }
                        else if (info.Column == colEmailStatement)
                        {
                            if (company.StatementPreference == "Email" || (company.StatementPreference == "Email, Print" || company.StatementPreference == "Print, Email"))
                            {
                                account.EmailStatement = true;
                            }

                            if (account.EntityId.AccountBalance != 0)
                            {
                                account.EmailStatement = true;
                            }
                        }

                        if (clearPrint)
                        {
                            account.PrintStatement = false;
                        }
                        else if (info.Column == colPrintStatement)
                        {
                            if (company.StatementPreference == "Print" || (company.StatementPreference == "Email, Print" || company.StatementPreference == "Print, Email"))
                            {
                                account.PrintStatement = true;
                            }

                            if (account.EntityId.AccountBalance != 0)
                            {
                                account.PrintStatement = true;
                            }
                        }
                    }
                }

                clearEmail = false;
                clearPrint = false;

                if (statements.Count(n => n.EmailStatement) > 0 || statements.Count(n => n.PrintStatement) > 0)
                {
                    btnProcessStatements.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
                }
                else
                {
                    btnProcessStatements.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
                }

                GridView.RefreshData();
            }
        }