Ejemplo n.º 1
0
        public ActionResult GetInvoicesTypeForSiteAndDate(AuthorizeCompareTableRequestVM model)
        {
            if (!ModelState.IsValid)
            {
                return(null);
            }

            DateTime date = new DateTime();

            if (DateTime.TryParse(model.Date, out date) && !string.IsNullOrEmpty(model.ViewType))
            {
                var report = SitesManager.GetInvoiceSitesForDateRange(model.WebSite, date, date);
                if (model.ViewType == "System")
                {
                    report = report.ToList();
                }
                else if (model.ViewType == "Authorize Successfull")
                {
                    report = report.Where(x => x.BilledDate.Date == date).ToList();
                }
                else if (model.ViewType == "Authorize Failed")
                {
                    report = report.Where(x => x.BilledDate.Date != date).ToList();
                }

                List <string> headers = new List <string>()
                {
                    "CustomerID",
                    "Status",
                    "Date",
                    "View"
                };

                List <List <string> > data = new List <List <string> >();
                foreach (var item in report)
                {
                    data.Add(new List <string>()
                    {
                        item.CustomerId.ToString(),
                        item.Status.ToString(),
                        item.CreatedAt.ToString(),
                        "<a href='/Subscription/ManageSubscriptions?customerEmail=" + CustomersManager.GetCustomer(item.CustomerId).Email + "'>View</a>"
                    });
                }

                return(Json(new { Header = headers, Data = data }));
            }
            return(null);
        }
Ejemplo n.º 2
0
        public ActionResult AuthorizeTransactionCompare(AuthorizeCompareTransactionVM model)
        {
            if (!ModelState.IsValid && CastleClub.BusinessLogic.Data.GlobalParameters.AuthorizeTransactionCompare)
            {
                return(View(model));
            }

            Dictionary <DateTime, decimal[]> data = new Dictionary <DateTime, decimal[]>();

            for (DateTime i = model.From; i <= model.To; i = i.AddDays(1))
            {
                data.Add(i, new decimal[3]);
                var report = SitesManager.GetInvoiceSitesForDateRange(model.SitedID, i, i);

                ((decimal[])data[i])[0] = report.Sum(x => x.Amount);
                ((decimal[])data[i])[1] = report.Where(x => x.BilledDate.Date == i).Sum(x => x.Amount);
                ((decimal[])data[i])[2] = report.Where(x => x.BilledDate.Date != i).Sum(x => x.Amount);
            }

            var chart = new ReportData();

            chart.Colors = new List <string>();
            chart.Colors.Add("#0000FF");
            chart.Colors.Add("#00FF00");
            chart.Colors.Add("#FF0000");

            chart.Text = "Transactions compare with Authorize";

            chart.Categories = new List <string>();
            chart.Series     = new List <Data>();

            Data system = new Data()
            {
                name = "System", data = new List <double>()
            };
            Data authorizeSuccessfull = new Data()
            {
                name = "Authorize Successfull", data = new List <double>()
            };
            Data authorizeFail = new Data()
            {
                name = "Authorize Failed", data = new List <double>()
            };

            for (DateTime i = model.From; i <= model.To; i = i.AddDays(1))
            {
                chart.Categories.Add(i.ToString("MM/dd/yyyy"));

                system.data.Add((double)((decimal[])data[i])[0]);
                authorizeSuccessfull.data.Add((double)((decimal[])data[i])[1]);
                authorizeFail.data.Add((double)((decimal[])data[i])[2]);
            }

            chart.Series.Add(system);
            chart.Series.Add(authorizeSuccessfull);
            chart.Series.Add(authorizeFail);
            chart.Id = Guid.NewGuid().ToString();

            #region Table

            chart.Table      = new ChartTable();
            chart.Table.Cols = new List <string>();
            chart.Table.Rows = new List <string>();
            chart.Table.Data = new string[data.Keys.Count][];

            chart.Table.Rows.Add("System");
            chart.Table.Rows.Add("Authorize Successfull");
            chart.Table.Rows.Add("Authorize Failed");

            int index = 0;
            foreach (var item in data.Keys)
            {
                chart.Table.Cols.Add(item.ToString("MM/dd/yyyy"));

                chart.Table.Data[index]    = new string[3];
                chart.Table.Data[index][0] = ((decimal[])data[item])[0].ToString();
                chart.Table.Data[index][1] = ((decimal[])data[item])[1].ToString();
                chart.Table.Data[index][2] = ((decimal[])data[item])[2].ToString();

                index = index + 1;
            }

            #endregion

            return(Json(chart));
        }