Пример #1
0
        public ReportWorkspaceViewModel()
        {
            ReportKinds       = InitReportKinds();
            CurrentReportKind = ReportKinds.FirstOrDefault();

            //Команда для формирования отчета
            CreateReportCommand = new DelegateCommand(o =>
            {
                ChartView = null;
                CurrentReportKind.GetDataForReport(this);
            },
                                                      o => CurrentReportKind != null);

            LoadContent = new DelegateCommand(
                o =>
            {
                CurrentReportKind.GetContent();
            },
                o => CurrentReportKind != null);
        }
        private void VerifyReport(ReportKinds kind)
        {
            ReportMgr.VerifyCustomFieldPresent(StringEnum.GetStringValue(CustomReportCreator.StandardFields.FullName), true);
            ReportMgr.VerifyCustomFieldPresent(StringEnum.GetStringValue(CustomReportCreator.StandardFields.Email), true);
            ReportMgr.VerifyCustomFieldPresent(StringEnum.GetStringValue(CustomReportCreator.StandardFields.EventTitle), true);
            ReportMgr.VerifyCustomFieldPresent(StringEnum.GetStringValue(CustomReportCreator.StandardFields.AddressLine1), true);
            ReportMgr.VerifyCustomFieldPresent(StringEnum.GetStringValue(CustomReportCreator.StandardFields.Balance), true);

            switch(kind)
            {
                case ReportKinds.EventFee:
                    ReportMgr.VerifyCustomFieldPresent(StringEnum.GetStringValue(CustomReportCreator.StandardFields.TotalCharge), true);
                    break;
                case ReportKinds.AgendaItem:
                    ReportMgr.VerifyCustomFieldPresent(CustomStringAttribute.GetCustomString(EventBasics.AIAlways), true);
                    break;
                case ReportKinds.Merchandise:
                    ReportMgr.VerifyCustomFieldPresent(CustomStringAttribute.GetCustomString(EventBasics.MerchandiseItemFixedPrice), true);
                    break;
                case ReportKinds.Tax:
                    ReportMgr.VerifyCustomFieldPresent(CustomStringAttribute.GetCustomString(EventBasics.AIAlways), true);
                    ReportMgr.VerifyCustomFieldPresent(CustomStringAttribute.GetCustomString(EventBasics.AIAlways) + "-" +
                        CustomStringAttribute.GetCustomString(EventBasics.Tax1), true);
                    ReportMgr.VerifyCustomFieldPresent(CustomStringAttribute.GetCustomString(EventBasics.AIAlways) + "-" +
                        CustomStringAttribute.GetCustomString(EventBasics.Tax2), true);
                    ReportMgr.VerifyCustomFieldPresent(CustomStringAttribute.GetCustomString(EventBasics.AIAlways) + "-TaxTotal", true);
                    break;
                case ReportKinds.Filter:
                    if (timesChangeFilter == 0)
                        Assert.True(ReportMgr.ReportHasRecords());
                    if (timesChangeFilter == 1)
                        ReportMgr.VerifyReportFilteredByRegType(this.regTypeId);
                    if (timesChangeFilter == 2)
                        ReportMgr.VerifyReportFilteredByRegStatus(this.eventId, 2);
                    if (timesChangeFilter == 3)
                        ReportMgr.VerifyReportFilteredByBalance(Managers.Report.ReportManager.BalanceTypes.Positive);
                    if (timesChangeFilter == 4)
                        ReportMgr.VerifyReportFilteredByBalance(Managers.Report.ReportManager.BalanceTypes.Zero);
                    if (timesChangeFilter == 5)
                        ReportMgr.VerifyReportFilteredByBalance(Managers.Report.ReportManager.BalanceTypes.Negative);
                    if (timesChangeFilter == 6)
                    {
                        ReportMgr.VerifyReportFilteredByRegType(CustomStringAttribute.GetCustomString(EventBasics.Third));
                        ReportMgr.VerifyReportFilteredByBalance(Managers.Report.ReportManager.BalanceTypes.Zero);
                    }
                    break;
                case ReportKinds.Grouping:
                    ReportMgr.VerifyGroupBy(CustomStringAttribute.GetCustomString(EventBasics.First));
                    ReportMgr.VerifyGroupBy(CustomStringAttribute.GetCustomString(EventBasics.Second));
                    ReportMgr.VerifyGroupBy(CustomStringAttribute.GetCustomString(EventBasics.Third));
                    break;
                case ReportKinds.Sorting:
                    ReportMgr.VerifyReportSortedByFullName(Managers.Report.ReportManager.SortTypes.Ascending);
                    break;
                default:
                    break;
            }
        }
        private void ChangeReportSetting(ReportKinds kind,string reportName)
        {
            ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ClickEditCustomReport(reportName);

            switch(kind)
            {
                case ReportKinds.EventFee:
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseTab(CustomReportCreator.Tab.Fields);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.AddField(StringEnum.GetStringValue(CustomReportCreator.StandardFields.TotalCharge));
                    break;
                case ReportKinds.AgendaItem:
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseTab(CustomReportCreator.Tab.Fields);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseFieldsCategory(CustomReportCreator.FieldsCategory.EventFeeAndAgenda);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.AddField(CustomStringAttribute.GetCustomString(EventBasics.AIAlways));
                    break;
                case ReportKinds.Merchandise:
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseTab(CustomReportCreator.Tab.Fields);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseFieldsCategory(CustomReportCreator.FieldsCategory.Merchandise);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.AddField(CustomStringAttribute.GetCustomString(EventBasics.MerchandiseItemFixedPrice));
                    break;
                case ReportKinds.Tax:
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseTab(CustomReportCreator.Tab.Fields);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseFieldsCategory(CustomReportCreator.FieldsCategory.EventFeeAndAgenda);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.AddField(CustomStringAttribute.GetCustomString(EventBasics.AIAlways));
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SetShownColumn(CustomReportCreator.EventFeeAndAgendaFieldsColumn.Taxes, true);
                    break;
                case ReportKinds.Filter:
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseTab(CustomReportCreator.Tab.Filters);
                    string fromDate = string.Format("{0}/{1}/{2}", (DateTime.Today.AddDays(-50)).Month, (DateTime.Today.AddDays(-50)).Day, (DateTime.Today.AddDays(-50)).Year);
                    string toDate = string.Format("{0}/{1}/{2}", DateTime.Today.Month, DateTime.Today.Day, DateTime.Today.Year);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.TypeFiltersDate(fromDate, toDate);

                    if (timesChangeFilter == 0)
                    {
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectFiltersRegType(CustomStringAttribute.GetCustomString(EventBasics.Third));
                    }
                    if (timesChangeFilter == 1)
                    {
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectFiltersRegType("All");
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectFiltersRegStatus(CustomReportCreator.FilterRegStatus.Confirmed);
                    }
                    if (timesChangeFilter == 2)
                    {
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectFiltersRegStatus(CustomReportCreator.FilterRegStatus.All);
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectFiltersBalance(CustomReportCreator.FilterBalance.Positive);
                    }
                    if (timesChangeFilter == 3)
                    {
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectFiltersBalance(CustomReportCreator.FilterBalance.Zero);
                    }
                    if (timesChangeFilter == 4)
                    {
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectFiltersBalance(CustomReportCreator.FilterBalance.Negative);
                    }
                    if (timesChangeFilter == 5)
                    {
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectFiltersBalance(CustomReportCreator.FilterBalance.All);
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SetCustomFilterOne(CustomReportCreator.CustomFilter.RegType,
                            CustomReportCreator.FilterOperators.EqualTo, CustomStringAttribute.GetCustomString(EventBasics.Third));
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SetCustomFilterTwo(CustomReportCreator.CustomFilter.BalanceDue,
                            CustomReportCreator.FilterOperators.EqualTo,  "0");
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseTab(CustomReportCreator.Tab.Fields);
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.AddField(StringEnum.GetStringValue(CustomReportCreator.StandardFields.RegType));
                    }
                    if (timesChangeFilter == 6)
                    {
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ClickAddCustomFilter();
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.VerifyThirdFilterPresents(true);
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ClickClearCustomFilters();
                        ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.VerifyThirdFilterPresents(false);
                    }

                    timesChangeFilter += 1;
                    break;
                case ReportKinds.Grouping:
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseTab(CustomReportCreator.Tab.SortingAndGrouping);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectGroupBy(Convert.ToString(97));
                    break;
                case ReportKinds.Sorting:
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseTab(CustomReportCreator.Tab.SortingAndGrouping);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectGroupBy(Convert.ToString(0));
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectFirstSortBy(CustomReportCreator.SortingFields.FirstLastName);
                    break;
                case ReportKinds.SmartLink:
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ChooseTab(CustomReportCreator.Tab.SmartLink);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ClickViewSmartLink();
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectSmartLinkPopupWindow();
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.VerifySmartLinkNeedsPassword(true);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.TypeSmartLinkPasswordAndSubmit(SmartLinkPassword);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.CloseSmartLinkPopupWindow();
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.TypeSmartLinkPassword("");
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.Apply();
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.ClickViewSmartLink();
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.SelectSmartLinkPopupWindow();
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.VerifySmartLinkNeedsPassword(false);
                    ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.CloseSmartLinkPopupWindow();
                    break;
                default:
                    break;
            }

            ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.Apply();
            ManagerSiteMgr.DashboardMgr.CustomReportCreationMgr.Cancel();
        }