Esempio n. 1
0
        public void SetValuesForReport(string Year, string isQuarterly, string Stage)
        {
            objReportController      = new ReportController();
            objReportModel           = new ReportModel();
            objConversionToPlanModel = new ConversionToPlanModel();
            SubDataTableModel        = new ConversionSubDataTableModel();

            objProjected_Goal = new Projected_Goal();
            objCardSection    = new CardSectionModel();
            ObjPlanCommonFunctions.SetSessionData();

            var result1 = objReportController.GetTopConversionToPlanByCustomFilter("Campaign", "", "", currentYear, isQuarterly, Stage) as PartialViewResult;

            objConversionToPlanModel = (ConversionToPlanModel)(result1.ViewData.Model);
            objConversionDataTable   = objConversionToPlanModel.ConversionToPlanDataTableModel;
            SubDataTableModel        = objConversionDataTable.SubDataModel;

            objProjected_Goal = objConversionToPlanModel.RevenueHeaderModel;

            if (isQuarterly == "Monthly")
            {
                ActualList    = objConversionDataTable.ActualList;
                ProjectedList = objConversionDataTable.ProjectedList;
                GoalList      = objConversionDataTable.GoalList;
            }
        }
Esempio n. 2
0
        public void SetValuesForReport(string Year, string isQuarterly)
        {
            objReportController     = new ReportController();
            objReportModel          = new ReportModel();
            objReportDataTable      = new RevenueDataTable();
            subModelList            = new RevenueSubDataTableModel();
            objRevenueToPlanModel   = new RevenueToPlanModel();
            objProjected_Goal       = new Projected_Goal();
            objCardSection          = new CardSectionModel();
            objlineChartData        = new lineChartData();
            objCardSectionListModel = new CardSectionListModel();
            ObjPlanCommonFunctions.SetSessionData();

            var result1 = objReportController.GetRevenueData(Year, isQuarterly) as PartialViewResult;

            objReportModel          = (ReportModel)(result1.ViewData.Model);
            objRevenueToPlanModel   = objReportModel.RevenueToPlanModel;
            objReportDataTable      = objRevenueToPlanModel.RevenueToPlanDataModel;
            subModelList            = objReportDataTable.SubDataModel;
            objlineChartData        = objRevenueToPlanModel.LineChartModel;
            objProjected_Goal       = objReportModel.RevenueHeaderModel;
            objCardSection          = objReportModel.CardSectionModel;
            objCardSectionListModel = objCardSection.CardSectionListModel[0];

            if (isQuarterly == "Monthly")
            {
                ActualList       = objReportDataTable.ActualList;
                ProjectedList    = objReportDataTable.ProjectedList;
                GoalList         = objReportDataTable.GoalList;
                PerformanceList  = subModelList.PerformanceList;
                ActualCostList   = subModelList.CostList;
                ROIList          = subModelList.ROIList;
                TotalRevenueList = subModelList.RevenueList;
            }
            else
            {
                QuaterlyActualList       = objReportDataTable.ActualList;
                QuaterlyProjectedList    = objReportDataTable.ProjectedList;
                QuaterlyGoalList         = objReportDataTable.GoalList;
                QuaterlyPerformanceList  = subModelList.PerformanceList;
                QuaterlyActualCostList   = subModelList.CostList;
                QuaterlyROIList          = subModelList.ROIList;
                QuaterlyTotalRevenueList = subModelList.RevenueList;
            }
        }
Esempio n. 3
0
        public void VerifyHeaderValue(Projected_Goal objProjected_Goal, List <double> ActualList, List <double> GoalList, List <double> ProjectedList)
        {
            #region Actual
            // Get actual projected value
            decimal GoalUpToCurrentMonth = 0; decimal actualPerecentage = 0; decimal SumOfProjected = 0; decimal TotalProjected = 0; decimal ProjectedPercentage = 0;
            foreach (decimal actual in ActualList)
            {
                actualProjected = actualProjected + actual;
            }
            Assert.AreEqual(Math.Round(actualProjected, 2), Math.Round(Convert.ToDecimal(objProjected_Goal.Actual_Projected), 2));
            Console.WriteLine("ReportController - GetTopConversionToPlanByCustomFilter \n Report - TQL Waterfall Report Header Section \n The assert value of actual TQL in header is " + objProjected_Goal.Actual_Projected + ".");

            // Get actual perecentage value
            for (int i = 1; i <= GoalList.Count(); i++)
            {
                if (currentMonth >= i)
                {
                    GoalUpToCurrentMonth = GoalUpToCurrentMonth + Convert.ToDecimal(GoalList[i - 1].ToString());
                }
            }
            actualPerecentage = ((actualProjected - GoalUpToCurrentMonth) / GoalUpToCurrentMonth) * 100;
            Assert.AreEqual(Math.Round(actualPerecentage, 2), Math.Round(Convert.ToDecimal(objProjected_Goal.ActualPercentage), 2));
            Console.WriteLine("ReportController - GetTopConversionToPlanByCustomFilter  \n Report - TQL Waterfall Report Header Section \n The assert value of actual TQL perecentage in header is " + objProjected_Goal.Actual_Projected + ".");

            #endregion

            #region Projected
            // Get projected value
            for (int i = 0; i < ProjectedList.Count(); i++)
            {
                SumOfProjected = SumOfProjected + Convert.ToDecimal(ProjectedList[i].ToString());
            }
            TotalProjected = SumOfProjected + actualProjected;
            Assert.AreEqual(Math.Round(TotalProjected, 2), Math.Round(Convert.ToDecimal(objProjected_Goal.Projected), 2));
            Console.WriteLine("ReportController - GetTopConversionToPlanByCustomFilter \n Report - TQL Waterfall Report Header Section \n The assert value of projected TQL in header is " + Math.Round(TotalProjected, 2).ToString() + ".");

            //Calculation for projected percentage
            ProjectedPercentage = ((TotalProjected - TacticTQL) / TacticTQL) * 100;
            Assert.AreEqual(Math.Round(ProjectedPercentage, 2), Math.Round(Convert.ToDecimal(objProjected_Goal.ProjectedPercentage), 2));
            Console.WriteLine("ReportController - GetTopConversionToPlanByCustomFilter \n Report - TQL Waterfall Report Header Section \n The assert value of projected TQL perecentage in header is " + Math.Round(ProjectedPercentage, 2).ToString() + ".");

            #endregion
        }
Esempio n. 4
0
        public async Task INQSummaryReport()
        {
            try
            {
                //Call common function for login
                var IsLogin = ObjCommonFunctions.CheckLogin();
                if (IsLogin != null)
                {
                    Assert.AreEqual("Index", IsLogin.RouteValues["Action"]);
                    Console.WriteLine("LoginController - Index With Parameters \n The assert value of Action : " + IsLogin.RouteValues["Action"]);
                    ObjPlanCommonFunctions.SetSessionData();
                    SetValuesForReport(currentYear, "Monthly", "ProjectedStageValue");
                    decimal sumOfActual = 0; decimal sumOfProjected = 0;

                    Sessions.PlanExchangeRate = 1.0;
                    var result = await objReportController.GetOverviewData(currentYear, "Quarterly") as PartialViewResult;

                    objReportOverviewModel = new ReportOverviewModel();
                    objReportOverviewModel = (ReportOverviewModel)result.Model;
                    if (objReportOverviewModel != null)
                    {
                        objProjected_Goal = new Projected_Goal();
                        objProjected_Goal = objReportOverviewModel.conversionOverviewModel.Projected_LineChartList[0].projected_goal;

                        #region Actual Projected
                        foreach (double actual in ActualList)
                        {
                            sumOfActual = sumOfActual + Convert.ToDecimal(actual);
                        }
                        foreach (double projected in ProjectedList)
                        {
                            sumOfProjected = sumOfProjected + Convert.ToDecimal(projected);
                        }
                        INQTotalProjected = sumOfActual + sumOfProjected;

                        Assert.AreEqual(Math.Round(Convert.ToDecimal(objProjected_Goal.Actual_Projected), 2), Math.Round(INQTotalProjected, 2));
                        Console.WriteLine("ReportController -> GetOverviewData \n Report - Waterfall Summary Report \n The assert value of projected INQ in volume section " + objProjected_Goal.Actual_Projected + ".");
                        #endregion

                        #region Actual Goal
                        DataTable dtModel = ObjCommonFunctions.GetExcelData("GamePlanExcelConn", "[Model$]").Tables[0];
                        DataRow   drModel = dtModel.Rows[0];

                        INQGoal = Convert.ToDecimal(drModel["TACTIC_PROJECTED_STAGE"].ToString());

                        Assert.AreEqual(Math.Round(Convert.ToDecimal(objProjected_Goal.Goal), 2), Math.Round(INQGoal, 2));
                        Console.WriteLine("ReportController -> GetOverviewData \n Report - Waterfall Summary Report \n The assert value of projected INQ goal in volume section " + objProjected_Goal.Goal + ".");

                        #endregion

                        #region Actual Percentage

                        INQPercentage = ((INQTotalProjected - INQGoal) / INQGoal) * 100;

                        Assert.AreEqual(Math.Round(Convert.ToDecimal(objProjected_Goal.Percentage), 2), Math.Round(INQPercentage, 2));
                        Console.WriteLine("ReportController -> GetOverviewData \n Report - Waterfall Summary Report \n The assert value of projected INQ percentage in volume section " + objProjected_Goal.Percentage + ".");

                        #endregion
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Esempio n. 5
0
        public async Task RevenueSummaryReport()
        {
            try
            {
                var IsLogin = ObjCommonFunctions.CheckLogin();
                if (IsLogin != null)
                {
                    Assert.AreEqual("Index", IsLogin.RouteValues["Action"]);
                    Console.WriteLine("LoginController - Index With Parameters \n The assert value of Action : " + IsLogin.RouteValues["Action"]);
                    ObjPlanCommonFunctions.SetSessionData();
                    objReportController = new ReportController();
                    objReportModel      = new ReportModel();

                    Sessions.PlanExchangeRate = 1.0;

                    var result = await objReportController.GetOverviewData("2016", "Quarterly") as PartialViewResult;

                    objReportOverviewModel = new ReportOverviewModel();
                    objReportOverviewModel = (ReportOverviewModel)result.Model;

                    List <sparkLineCharts> SparkLineChartsList = new List <sparkLineCharts>();
                    SparkLineChartsList = objReportOverviewModel.revenueOverviewModel.SparkLineChartsData;
                    if (objReportOverviewModel != null)
                    {
                        objProjected_Goal = new Projected_Goal();
                        objProjected_Goal = objReportOverviewModel.revenueOverviewModel.projected_goal;

                        DataTable dt = ObjCommonFunctions.GetExcelData("GamePlanExcelConn", "[Actual Data$]").Tables[0];
                        TotalProjected = SetValuesForSummeryRevenueReport(dt);

                        Assert.AreEqual(Math.Round(TotalProjected, 2), Math.Round(Convert.ToDecimal(objProjected_Goal.Actual_Projected), 2));
                        Console.WriteLine("ReportController - revenueOverviewModel \n The assert value of actual projected is " + Math.Round(Convert.ToDecimal(objProjected_Goal.Actual_Projected), 2).ToString() + ".");

                        Assert.AreEqual(Math.Round(TacticRevenueAmount, 2), Math.Round(Convert.ToDecimal(objProjected_Goal.Goal), 2));
                        Console.WriteLine("ReportController - revenueOverviewModel \n The assert value of actual goal is  " + Math.Round(Convert.ToDecimal(objProjected_Goal.Goal), 2).ToString() + ".");

                        decimal Percentage = ((TotalProjected - TacticRevenueAmount) / TacticRevenueAmount) * 100;

                        Assert.AreEqual(Math.Round(Percentage, 2), Math.Round(Convert.ToDecimal(objProjected_Goal.Percentage), 2));
                        Console.WriteLine("ReportController - revenueOverviewModel \n The assert value of actual percentage  is " + Math.Round(Convert.ToDecimal(objProjected_Goal.Percentage), 2) + ".");

                        if (SparkLineChartsList != null)
                        {
                            decimal value = 0;
                            for (int i = 0; i < SparkLineChartsList.Count; i++)
                            {
                                var    sparkLineData   = SparkLineChartsList[i];
                                string attributeName1  = sparkLineData.sparklinechartdata[0].Name.ToLower();
                                string percentage      = sparkLineData.sparklinechartdata[0].RevenueTypeValue;
                                string Totalpercentage = sparkLineData.sparklinechartdata[1].RevenueTypeValue.ToLower();
                                string attributeName2  = sparkLineData.sparklinechartdata[1].RevenueTypeValue.ToLower();
                                string Header          = sparkLineData.ChartHeader;
                                if (sparkLineData.ChartHeader.ToLower() == "top revenue by")
                                {
                                    value = SumOfActual;
                                }
                                else if (sparkLineData.ChartHeader.ToLower() == "top cost by")
                                {
                                    if (dt.Rows[4] != null)
                                    {
                                        for (int j = 1; j <= dt.Columns.Count - 1; j++)
                                        {
                                            if (j <= currentMonth)
                                            {
                                                SumOfCost = SumOfCost + Convert.ToDecimal(dt.Rows[4][j].ToString());
                                            }
                                        }
                                    }
                                    value = SumOfCost;
                                }
                                else if (sparkLineData.ChartHeader.ToLower() == "top performance by")
                                {
                                    value = ((SumOfActual - TacticRevenueAmount) / TacticRevenueAmount) * 100;
                                }
                                else if (sparkLineData.ChartHeader.ToLower() == "top roi by")
                                {
                                    value = ((SumOfActual - SumOfCost) / SumOfCost) * 100;
                                }
                                if (percentage.Contains('%'))
                                {
                                    percentage      = percentage.Replace('%', '0');
                                    Totalpercentage = Totalpercentage.Replace('%', '0');
                                }
                                Assert.AreEqual(Math.Round(Convert.ToDecimal(percentage), 1), Math.Round(Convert.ToDecimal(value), 1));
                                Console.WriteLine("ReportController - revenueOverviewModel \n Report - Revenue Summery Report \n The assert value of " + attributeName1 + " in " + Header + " is " + Math.Round(Convert.ToDecimal(percentage), 2) + ".");
                                Assert.AreEqual(Math.Round(Convert.ToDecimal(Totalpercentage), 1), Math.Round(Convert.ToDecimal(value), 1));
                                Console.WriteLine("ReportController - revenueOverviewModel \n Report - Revenue Summery Report \n The assert value of " + attributeName2 + " in " + Header + " is " + Math.Round(Convert.ToDecimal(Totalpercentage), 2) + ".");
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Esempio n. 6
0
        public async Task CWSummaryReport()
        {
            try
            {
                //Call common function for login
                var IsLogin = ObjCommonFunctions.CheckLogin();
                if (IsLogin != null)
                {
                    Assert.AreEqual("Index", IsLogin.RouteValues["Action"]);
                    Console.WriteLine("LoginController - Index With Parameters \n The assert value of Action : " + IsLogin.RouteValues["Action"]);
                    ObjPlanCommonFunctions.SetSessionData();
                    SetValuesForReport(currentYear, "Monthly", "CW");
                    decimal sumOfActual = 0; decimal sumOfProjected = 0;

                    Sessions.PlanExchangeRate = 1.0;
                    var result = await objReportController.GetOverviewData(currentYear, "Quarterly") as PartialViewResult;

                    objReportOverviewModel = new ReportOverviewModel();
                    objReportOverviewModel = (ReportOverviewModel)result.Model;
                    if (objReportOverviewModel != null)
                    {
                        objProjected_Goal = new Projected_Goal();
                        objProjected_Goal = objReportOverviewModel.conversionOverviewModel.Projected_LineChartList[2].projected_goal;

                        objConversion_Benchmark_Model = new Conversion_Benchmark_Model();
                        objConversion_Benchmark_Model = objReportOverviewModel.conversionOverviewModel.Projected_LineChartList[2].Stage_Benchmark;

                        #region Actual Projected
                        foreach (double actual in ActualList)
                        {
                            sumOfActual = sumOfActual + Convert.ToDecimal(actual);
                        }
                        foreach (double projected in ProjectedList)
                        {
                            sumOfProjected = sumOfProjected + Convert.ToDecimal(projected);
                        }
                        CWTotalProjected = sumOfActual + sumOfProjected;
                        Assert.AreEqual(Math.Round(Convert.ToDecimal(objProjected_Goal.Actual_Projected), 2), Math.Round(CWTotalProjected, 2));
                        Console.WriteLine("ReportController - GetOverviewData \n The assert value of projected CW is " + objProjected_Goal.Actual_Projected + ".");
                        #endregion

                        #region Actual Goal
                        DataTable dtModel = ObjCommonFunctions.GetExcelData("GamePlanExcelConn", "[Model$]").Tables[0];
                        DataRow   drModel = dtModel.Rows[0];

                        INQGoal = Convert.ToDecimal(drModel["TACTIC_PROJECTED_STAGE"].ToString());
                        TQLGoal = ObjPlanCommonFunctions.CalculationForTactic(drModel, INQGoal, "TQL");
                        CWGoal  = ObjPlanCommonFunctions.CalculationForTactic(drModel, TQLGoal, "CW");

                        Assert.AreEqual(Math.Round(Convert.ToDecimal(objProjected_Goal.Goal), 2), Math.Round(CWGoal, 2));
                        Console.WriteLine("ReportController - GetOverviewData \n The assert value of projected CW goal is " + objProjected_Goal.Goal + ".");

                        #endregion

                        #region Actual Percentage

                        CWPercentage = ((CWTotalProjected - CWGoal) / CWGoal) * 100;

                        Assert.AreEqual(Math.Round(Convert.ToDecimal(objProjected_Goal.Percentage), 2), Math.Round(CWPercentage, 2));
                        Console.WriteLine("ReportController - GetOverviewData \n The assert value of projected CW percentage is " + objProjected_Goal.Percentage + ".");

                        #endregion

                        #region CW Stage Volume

                        decimal CWConversionRate = CalculateConversionValues("CW");
                        Assert.AreEqual(objConversion_Benchmark_Model.stageVolume, Math.Floor(CWConversionRate).ToString());
                        Console.WriteLine("ReportController - GetOverviewData \n The assert value of projected CW percentage " + objConversion_Benchmark_Model.stageVolume + ".");

                        #endregion

                        #region CW Stage Goal

                        decimal CWConversionGoal = (CWGoal / TQLGoal) * 100;
                        Assert.AreEqual(Math.Round(Convert.ToDecimal(objConversion_Benchmark_Model.Benchmark), 2), Math.Round(CWConversionGoal, 2));
                        Console.WriteLine("ReportController - GetOverviewData \n The assert value of projected CW goal percentage" + objConversion_Benchmark_Model.Benchmark + ".");

                        #endregion

                        #region CW Stage Percentage Difference

                        decimal CWPercentageDiff = ((Math.Floor(CWConversionRate) - CWConversionGoal) / CWConversionGoal) * 100;
                        Assert.AreEqual(Math.Round(Convert.ToDecimal(objConversion_Benchmark_Model.PercentageDifference), 2), Math.Round(CWPercentageDiff, 2));
                        Console.WriteLine("ReportController - GetOverviewData \n The assert value of projected CW difference percentage " + objConversion_Benchmark_Model.PercentageDifference + ".");

                        #endregion
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }