Exemple #1
0
        public IActionResult getFailedTransactions()
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "pie";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15", "#FB1926", "#FFE033", "#FF7A05"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Approved or Accredited"
                }
            });
            chart.xAxis.Add(new XAxis()
            {
                title = new Title()
                {
                    text = "Failed"
                }
            });

            var transactionList = db.PaymentTransaction.ToList();

            var failedTransactions  = transactionList.Where(x => x.StatusDetail != "approved" && x.StatusDetail != "accredited").Count();
            var successTransactions = transactionList.Where(x => x.StatusDetail == "approved" || x.StatusDetail == "accredited").Count();
            var onHoldTransactions  = transactionList.Where(x => x.StatusDetail == "onhold").Count();

            //  var fraudTransactions = transactionList.Where(x => x.StatusDetail == "fraud").Count();


            chart.series.Add(new Series()
            {
                name = "Transactions",
                data = new List <Data>()
                {
                    new Data()
                    {
                        name = "Approved", y = successTransactions
                    },
                    new Data()
                    {
                        name = "Failed", y = failedTransactions
                    },
                    new Data()
                    {
                        name = "On Hold", y = onHoldTransactions
                    },
                    //new Data() { name = "Fraud", y = fraudTransactions }
                },
                colorByPoint = true
            });

            return(Ok(chart));
        }
Exemple #2
0
        public IActionResult getUserActivity()
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "line";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Number Of Users"
                }
            });
            chart.xAxis.Add(new XAxis()
            {
                title = new Title()
                {
                    text = "Pages"
                }
            });

            var dataList = db.UserLogs.Include(x => x.Page).ToList();

            var xray = dataList.GroupBy(x => x.Page.Name).Select(g => new
            {
                Name  = g.Key,
                Users = g.Count()
            }).Take(5).ToList();

            var sortedXray = xray.OrderByDescending(x => x.Users).ToList();

            var tempList = new List <Data>();


            foreach (var item in sortedXray)
            {
                var temp = new Data();
                temp.name = item.Name;
                temp.y    = Convert.ToDecimal(item.Users);
                tempList.Add(temp);
            }

            chart.series.Add(new Series()
            {
                name = "User Activity",
                data = tempList
            });

            return(Ok(chart));
        }
Exemple #3
0
        public IActionResult MostSearchedProducts()
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "bar";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Number Of Users"
                }
            });
            chart.xAxis.Add(new XAxis()
            {
                title = new Title()
                {
                    text = "Products"
                }
            });

            var result = db.SearchTerm.Where(x => x.Name != null && x.IsActive == true && x.ProductCount != 0)
                         .OrderByDescending(x => x.UserCount).Take(5).ToList();

            var tempList = new List <Data>();

            var productList = db.Products.Where(x => x.IsActive == true && x.Name != null).ToList();

            foreach (var item in result)
            {
                var temp = new Data();

                var product = productList.Where(x => x.Name.Contains(item.Name)).FirstOrDefault();

                if (product != null)
                {
                    temp.name = product.Name;
                    temp.y    = Convert.ToDecimal(item.UserCount);
                    tempList.Add(temp);
                }
            }

            chart.series.Add(new Series()
            {
                name = "Most Searched Products",
                data = tempList
            });

            return(Ok(chart));
        }
Exemple #4
0
        public IActionResult getTopCustomers()
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "line";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15", "#FB1926"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Purchases"
                }
            });
            chart.xAxis.Add(new XAxis()
            {
                title = new Title()
                {
                    text = "Customers"
                }
            });

            var result = db.CheckoutItems.Include(x => x.User).Where(x => x.User.FirstName != null).ToList();

            var xtt = result;

            var xray = result.GroupBy(x => x.User.FirstName).Select(g => new
            {
                Name     = g.Key,
                Quantity = g.Sum(x => x.Quantity)
            }).OrderByDescending(x => x.Quantity).Take(5).ToList();

            var tempList = new List <Data>();

            foreach (var item in xray)
            {
                var temp = new Data();
                temp.name = item.Name;
                temp.y    = Convert.ToDecimal(item.Quantity);
                tempList.Add(temp);
            }

            chart.series.Add(new Series()
            {
                name = "Customers With Most Purchases",
                data = tempList
            });

            return(Ok(chart));
        }
Exemple #5
0
        public IActionResult getBestSellers()
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "column";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Quantity"
                }
            });
            chart.xAxis.Add(new XAxis()
            {
                title = new Title()
                {
                    text = "Products"
                }
            });

            var result = db.CheckoutItems.Include(x => x.ProductVariantDetail.Product).ToList();

            var xray = result.GroupBy(x => x.ProductVariantDetail.Product.Name).Select(g => new
            {
                Name     = g.Key,
                Quantity = g.Sum(x => x.Quantity)
            }).OrderByDescending(x => x.Quantity).Take(5).ToList();

            var tempList = new List <Data>();

            foreach (var item in xray)
            {
                var temp = new Data();
                temp.name = item.Name;
                temp.y    = Convert.ToDecimal(item.Quantity);
                tempList.Add(temp);
            }

            chart.series.Add(new Series()
            {
                name = "Best Selling Products",
                data = tempList
            });

            return(Ok(chart));
        }
Exemple #6
0
        public IActionResult getSalesAndRefund()
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "pie";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15", "#FB1926"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Sales"
                }
            });
            chart.xAxis.Add(new XAxis()
            {
                title = new Title()
                {
                    text = "Refund"
                }
            });

            var totalSales   = db.CheckoutItems.Sum(x => x.Quantity);
            var totalRefunds = db.Return.Sum(x => x.Quantity);
            var realSales    = totalSales - totalRefunds;

            chart.series.Add(new Series()
            {
                name = "Sales And Refunds",
                data = new List <Data>()
                {
                    new Data()
                    {
                        name = "Sales", y = realSales
                    },
                    new Data()
                    {
                        name = "Refunds", y = totalRefunds
                    },
                },
                colorByPoint = true
            });



            return(Ok(chart));
        }
Exemple #7
0
        public IActionResult MostSearchedKeywords()
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "bar";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Number Of Users"
                }
            });
            chart.xAxis.Add(new XAxis()
            {
                title = new Title()
                {
                    text = "Search Keywords"
                }
            });

            var result   = db.SearchTerm.Where(x => x.Name != null && x.IsActive == true).OrderByDescending(x => x.UserCount).Take(5).ToList();
            var tempList = new List <Data>();


            foreach (var item in result)
            {
                var temp = new Data();
                temp.name = item.Name.ToString();
                temp.y    = Convert.ToDecimal(item.UserCount);
                tempList.Add(temp);
            }

            chart.series.Add(new Series()
            {
                name = "Most Searched Keywords",
                data = tempList
            });

            return(Ok(chart));
        }
Exemple #8
0
        public IActionResult numOfUsersToday()
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "line";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Number Of Users"
                }
            });
            chart.xAxis.Add(new XAxis());

            var data = db.UserLogs.ToList();

            var         numOfHours = DateTime.Now.AddHours(-1).Hour;
            List <Data> tempList   = new List <Data>();

            for (int i = numOfHours; i > 0; i--)
            {
                var temp = new Data();

                temp.name = DateTime.Now.AddHours(-i).Hour.ToString();
                temp.y    = data.Where(x => x.LogInDate >= DateTime.Now.AddHours(-i)).Count();

                tempList.Add(temp);
            }

            chart.series.Add(new Series()
            {
                name = "Hours",
                data = tempList
            });

            return(Ok(chart));
        }
        public IActionResult lowStock6Products(int VendorId)
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type   = "column";
            chart.title.text   = "";
            chart.chart.height = 290;
            chart.colors       = new List <string>()
            {
                "#50a6f8", "#6fc040", "#f5d427", "#f3901d", "#8085E9", "#e45e33"
            };
            //chart.colors = new List<string>() { "#77cc15" };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Stock"
                }
            });
            chart.xAxis.Add(new XAxis());


            var data = db.ProductVariantDetails.Where(x => x.IsActive == true && x.Product.VendorId == VendorId && x.Product.IsActive == true).OrderBy(x => x.InStock).Take(6).Include(x => x.Product).ToList();
            var list = new List <Data>();

            foreach (var d in data)
            {
                var model = new Data();
                model.name = d.Product.Name;
                model.y    = d.InStock;
                list.Add(model);
            }

            chart.series.Add(new Series()
            {
                name         = "Low Stock 6 Products",
                data         = list,
                colorByPoint = true,
            });

            return(Ok(chart));
        }
Exemple #10
0
        public IActionResult numOfUsers()
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "line";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Number Of Users"
                }
            });
            chart.xAxis.Add(new XAxis());

            var data     = db.UserLogs.ToList();
            var userList = data.Where(x => x.LogInDate >= DateTime.Now.AddHours(-1)).Count();

            chart.series.Add(new Series()
            {
                name = "Users",
                data = new List <Data>()
                {
                    new Data()
                    {
                        name = "Last one Hour", y = userList
                    },
                }
            });

            return(Ok(chart));
        }
Exemple #11
0
        public IActionResult getNewCustomers(int year)
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "line";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Amount"
                }
            });
            chart.xAxis.Add(new XAxis());

            var userList = db.Users.Where(x => x.DateTime.Value.Year == year && x.RoleId == 1).ToList();

            var JanUsers = userList.Where(x => x.DateTime.Value.Month == 01).Count();
            var FebUsers = userList.Where(x => x.DateTime.Value.Month == 02).Count();
            var MarUsers = userList.Where(x => x.DateTime.Value.Month == 03).Count();
            var AprUsers = userList.Where(x => x.DateTime.Value.Month == 04).Count();
            var MayUsers = userList.Where(x => x.DateTime.Value.Month == 05).Count();
            var JunUsers = userList.Where(x => x.DateTime.Value.Month == 06).Count();
            var JulUsers = userList.Where(x => x.DateTime.Value.Month == 07).Count();
            var AugUsers = userList.Where(x => x.DateTime.Value.Month == 08).Count();
            var SepUsers = userList.Where(x => x.DateTime.Value.Month == 09).Count();
            var OctUsers = userList.Where(x => x.DateTime.Value.Month == 10).Count();
            var NovUsers = userList.Where(x => x.DateTime.Value.Month == 11).Count();
            var DecUsers = userList.Where(x => x.DateTime.Value.Month == 12).Count();

            chart.series.Add(new Series()
            {
                name = "New Customers",
                data = new List <Data>()
                {
                    new Data()
                    {
                        name = "Jan", y = JanUsers
                    },
                    new Data()
                    {
                        name = "Feb", y = FebUsers
                    },
                    new Data()
                    {
                        name = "Mar", y = MarUsers
                    },
                    new Data()
                    {
                        name = "Apr", y = AprUsers
                    },
                    new Data()
                    {
                        name = "May", y = MayUsers
                    },
                    new Data()
                    {
                        name = "Jun", y = JunUsers
                    },
                    new Data()
                    {
                        name = "Jul", y = JulUsers
                    },
                    new Data()
                    {
                        name = "Aug", y = AugUsers
                    },
                    new Data()
                    {
                        name = "Sep", y = SepUsers
                    },
                    new Data()
                    {
                        name = "Oct", y = OctUsers
                    },
                    new Data()
                    {
                        name = "Nov", y = NovUsers
                    },
                    new Data()
                    {
                        name = "Dec", y = DecUsers
                    }
                }
            });

            return(Ok(chart));
        }
Exemple #12
0
        public IActionResult GetSales(int Year, int Period)
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type = "line";
            chart.title.text = "";
            chart.colors     = new List <string>()
            {
                "#77cc15"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Amount"
                }
            });
            chart.xAxis.Add(new XAxis());
            var sale = db.PaymentTransaction.Where(x => x.intent == "sale" && x.paymentID != null && x.CheckoutId != null && x.CheckoutId != 0 && x.Date.Value.Year == Year);

            var refund = db.PaymentTransaction.Where(x => x.intent == "refund" && x.ReturnId != null && x.Date.Value.Year == Year);
            //Sale
            var JanSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 01).Sum(x => x.TransactionAmount));
            var FebSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 02).Sum(x => x.TransactionAmount));
            var MarSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 03).Sum(x => x.TransactionAmount));
            var AprSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 04).Sum(x => x.TransactionAmount));
            var MaySale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 05).Sum(x => x.TransactionAmount));
            var JunSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 06).Sum(x => x.TransactionAmount));
            var JulSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 07).Sum(x => x.TransactionAmount));
            var AugSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 08).Sum(x => x.TransactionAmount));
            var SepSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 09).Sum(x => x.TransactionAmount));
            var OctSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 10).Sum(x => x.TransactionAmount));
            var NovSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 11).Sum(x => x.TransactionAmount));
            var DecSale = Convert.ToDecimal(sale.Where(x => x.Date.Value.Month == 12).Sum(x => x.TransactionAmount));
            //Refund
            var JanRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 01).Sum(x => x.TransactionAmount));
            var FebRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 02).Sum(x => x.TransactionAmount));
            var MarRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 03).Sum(x => x.TransactionAmount));
            var AprRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 04).Sum(x => x.TransactionAmount));
            var MayRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 05).Sum(x => x.TransactionAmount));
            var JunRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 06).Sum(x => x.TransactionAmount));
            var JulRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 07).Sum(x => x.TransactionAmount));
            var AugRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 08).Sum(x => x.TransactionAmount));
            var SepRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 09).Sum(x => x.TransactionAmount));
            var OctRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 10).Sum(x => x.TransactionAmount));
            var NovRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 11).Sum(x => x.TransactionAmount));
            var DecRefund = Convert.ToDecimal(refund.Where(x => x.Date.Value.Month == 12).Sum(x => x.TransactionAmount));

            if (Period == 0)//yearly
            {
                chart.series.Add(new Series()
                {
                    name = "Sales",
                    data = new List <Data>()
                    {
                        new Data()
                        {
                            name = "Jan", y = JanSale - JanRefund
                        },
                        new Data()
                        {
                            name = "Feb", y = FebSale - FebRefund
                        },
                        new Data()
                        {
                            name = "Mar", y = MarSale - MarRefund
                        },
                        new Data()
                        {
                            name = "Apr", y = AprSale - AprRefund
                        },
                        new Data()
                        {
                            name = "May", y = MaySale - MayRefund
                        },
                        new Data()
                        {
                            name = "Jun", y = JunSale - JunRefund
                        },
                        new Data()
                        {
                            name = "Jul", y = JulSale - JulRefund
                        },
                        new Data()
                        {
                            name = "Aug", y = AugSale - AugRefund
                        },
                        new Data()
                        {
                            name = "Sep", y = SepSale - SepRefund
                        },
                        new Data()
                        {
                            name = "Oct", y = OctSale - OctRefund
                        },
                        new Data()
                        {
                            name = "Nov", y = NovSale - NovRefund
                        },
                        new Data()
                        {
                            name = "Dec", y = DecSale - DecRefund
                        }
                    }
                });
            }
            else
            {
                if (Period == 1)
                {
                    var sale1   = db.PaymentTransaction.Where(x => x.intent == "sale" && x.paymentID != null && x.CheckoutId != null && x.CheckoutId != 0 && x.Date == DateTime.Now.Date).Sum(x => x.TransactionAmount);
                    var refund1 = db.PaymentTransaction.Where(x => x.intent == "refund" && x.ReturnId != null && x.Date == DateTime.Now.Date).Sum(x => x.TransactionAmount);
                    var today   = Convert.ToDecimal(sale1 - refund1);
                    // var data1 = db.Checkouts.Where(x => x.IsActive == true && x.IsPaid == true && x.Date.Date == DateTime.Now.Date).ToList();
                    // var today = data1.Sum(x => x.TransactionAmount);
                    chart.series.Add(new Series()
                    {
                        name = "Sales",
                        data = new List <Data>()
                        {
                            new Data()
                            {
                                name = "Today", y = today
                            },
                        }
                    });
                }
                else if (Period == 2)
                {
                    var sale1        = db.PaymentTransaction.Where(x => x.intent == "sale" && x.paymentID != null && x.CheckoutId != null && x.CheckoutId != 0 && x.Date == DateTime.Now.Date).ToList();
                    var refund1      = db.PaymentTransaction.Where(x => x.intent == "refund" && x.ReturnId != null && x.Date == DateTime.Now.Date).ToList();
                    var saleamount   = sale1.Where(x => x.Date >= DateTime.Now.AddHours(-1)).Sum(x => x.TransactionAmount);
                    var refundamount = refund1.Where(x => x.Date >= DateTime.Now.AddHours(-1)).Sum(x => x.TransactionAmount);

                    var today = Convert.ToDecimal(saleamount - refundamount);
                    //var data1 = db.Checkouts.Where(x => x.IsActive == true && x.IsPaid == true && x.Date.Date == DateTime.Now.Date).ToList();
                    //var today = data1.Where(x => x.Date >= DateTime.Now.AddHours(-1)).Sum(x => x.TransactionAmount);
                    chart.series.Add(new Series()
                    {
                        name = "Sales",
                        data = new List <Data>()
                        {
                            new Data()
                            {
                                name = "Last one Hour", y = today
                            },
                        }
                    });
                }
            }
            return(Ok(chart));
        }
        public IActionResult GetSales(int Year, int Period, int VendorId)
        {
            HighChartModel chart = new HighChartModel();

            chart.chart.type   = "line";
            chart.title.text   = "";
            chart.chart.height = 290;
            // chart.chart.width = 100 ;
            chart.colors = new List <string>()
            {
                "#77cc15"
            };
            chart.yAxis.Add(new YAxis()
            {
                title = new Title()
                {
                    text = "Amount"
                }
            });
            chart.xAxis.Add(new XAxis());

            var data    = db.VendorTransaction.Where(x => x.IsActive == true && x.TransactionDate.Year == Year && x.IsPaidByPistis == false && x.VendorId == VendorId).ToList();
            var JanSale = data.Where(x => x.TransactionDate.Month == 01).Sum(x => x.AmountPaid);
            var FebSale = data.Where(x => x.TransactionDate.Month == 02).Sum(x => x.AmountPaid);
            var MarSale = data.Where(x => x.TransactionDate.Month == 03).Sum(x => x.AmountPaid);
            var AprSale = data.Where(x => x.TransactionDate.Month == 04).Sum(x => x.AmountPaid);
            var MaySale = data.Where(x => x.TransactionDate.Month == 05).Sum(x => x.AmountPaid);
            var JunSale = data.Where(x => x.TransactionDate.Month == 06).Sum(x => x.AmountPaid);
            var JulSale = data.Where(x => x.TransactionDate.Month == 07).Sum(x => x.AmountPaid);
            var AugSale = data.Where(x => x.TransactionDate.Month == 08).Sum(x => x.AmountPaid);
            var SepSale = data.Where(x => x.TransactionDate.Month == 09).Sum(x => x.AmountPaid);
            var OctSale = data.Where(x => x.TransactionDate.Month == 10).Sum(x => x.AmountPaid);
            var NovSale = data.Where(x => x.TransactionDate.Month == 11).Sum(x => x.AmountPaid);
            var DecSale = data.Where(x => x.TransactionDate.Month == 12).Sum(x => x.AmountPaid);



            if (Period == 0)//yearly
            {
                chart.series.Add(new Series()
                {
                    name = "Sales",
                    data = new List <Data>()
                    {
                        new Data()
                        {
                            name = "Jan", y = JanSale
                        },
                        new Data()
                        {
                            name = "Feb", y = FebSale
                        },
                        new Data()
                        {
                            name = "Mar", y = MarSale
                        },
                        new Data()
                        {
                            name = "Apr", y = AprSale
                        },
                        new Data()
                        {
                            name = "May", y = MaySale
                        },
                        new Data()
                        {
                            name = "Jun", y = JunSale
                        },
                        new Data()
                        {
                            name = "Jul", y = JulSale
                        },
                        new Data()
                        {
                            name = "Aug", y = AugSale
                        },
                        new Data()
                        {
                            name = "Sep", y = SepSale
                        },
                        new Data()
                        {
                            name = "Oct", y = OctSale
                        },
                        new Data()
                        {
                            name = "Nov", y = NovSale
                        },
                        new Data()
                        {
                            name = "Dec", y = DecSale
                        }
                    }
                });
            }
            else
            {
                if (Period == 1)
                {
                    var data1 = db.VendorTransaction.Where(x => x.IsActive == true && x.TransactionDate.Date == DateTime.Now.Date && x.IsPaidByPistis == false && x.VendorId == VendorId).ToList();
                    var today = data1.Sum(x => x.AmountPaid);
                    chart.series.Add(new Series()
                    {
                        name = "Sales",
                        data = new List <Data>()
                        {
                            new Data()
                            {
                                name = "Today", y = today
                            },
                        }
                    });
                }
                else if (Period == 2)
                {
                    var data1 = db.VendorTransaction.Where(x => x.IsActive == true && x.TransactionDate.Date == DateTime.Now.Date && x.IsPaidByPistis == false && x.VendorId == VendorId).ToList();

                    var today = data1.Where(x => x.TransactionDate >= DateTime.Now.AddHours(-1)).Sum(x => x.AmountPaid);
                    chart.series.Add(new Series()
                    {
                        name = "Sales",
                        data = new List <Data>()
                        {
                            new Data()
                            {
                                name = "Last one Hour", y = today
                            },
                        }
                    });
                }
            }


            return(Ok(chart));
        }
Exemple #14
0
        public ActionResult GetHourStatistics(HourStatisticsType hourStatisticsType, int?year, Area?area)
        {
            if (CurrentUser.UserRole == UserRole.Rackaz)
            {
                area = CurrentUser.Area;
            }
            if (!year.HasValue)
            {
                year = DateTime.Now.Year;
            }

            var startTime = new DateTime(year.Value, 10, 1);
            var endTime   = new DateTime(year.Value + 1, 10, 1);

            var result = _reportService.GetHourStatistics(area, startTime, endTime, hourStatisticsType);

            //TODO: dont show if no data exists:
            //if (result.Data == null)
            //{
            //    return Error(result);
            //}

            if (result.Success)
            {
                var series = new List <double>();

                for (var i = 1; i <= 12; i++)
                {
                    var hours = 0.0;
                    var month = (i + 8) % 12 + 1;

                    if (result.Data.HourStatistics.ContainsKey(month))
                    {
                        hours = result.Data.HourStatistics[month];
                    }

                    series.Add(Math.Round(hours, 2));
                }

                series = RemoveLastsZeros(series);

                var chartModel = new HighChartModel
                {
                    chart = new Chart
                    {
                        type = "line"
                    },
                    title = new Title
                    {
                        text = (area.HasValue ? string.Format(" סטטיסטיקת שעות חניכה באיזור {0}", area.Value.ToDescription()) : " סטטיסטיקת שעות חניכה"),
                        x    = -20
                    },
                    xAxis = new Xaxis
                    {
                        categories = new List <string>
                        {
                            "אוקטובר",
                            "נובמבר",
                            "דצמבר",
                            "ינואר",
                            "פברואר",
                            "מרץ",
                            "אפריל",
                            "מאי",
                            "יוני",
                            "יולי",
                            "אוגוסט",
                            "ספטמבר"
                        },
                        title = new Title1
                        {
                            text = string.Format("אוקטובר {0} - ספטמבר {1}", year, year + 1)
                                   //text = "אוקטובר שנה נבחרת עד ספטמבר שנה לאחר מכן"
                        }
                    },
                    yAxis = new Yaxis
                    {
                        title = new Title1
                        {
                            text = "סכום שעות החניכה"
                        },
                        plotLines = new List <Plotline> {
                            new Plotline
                            {
                                color     = "red",
                                dashStyle = "Solid",
                                // TODO : Change to real values from or
                                value = hourStatisticsType == HourStatisticsType.Sum ? 100000 : 12,
                                width = 3
                            }
                        }
                    },
                    series = new List <Series>
                    {
                        new Series
                        {
                            data = series,
                            name = (hourStatisticsType == 0? string.Format("סכום שעות חניכה"): "ממוצע שעות חניכה"),
                        }
                    },
                    legend = new Legend
                    {
                        layout        = "vertical",
                        align         = "right",
                        verticalAlign = "middle",
                        borderWidth   = 0
                    },
                    tooltip = new Tooltip1()
                    {
                        headerFormat = "<span style='font-size:10px'>{point.key}</span><table>",
                        pointFormat  = "<tr><td style='color:{series.color};padding:0'>{series.name}: </td><td style='padding:0'><b>{point.y}</b></td></tr>",
                        footerFormat = "</table>",
                        shared       = true,
                        useHTML      = true
                    },
                    exporting = new Exporting
                    {
                        enabled = true
                    }
                };

                return(Json(chartModel));
            }
            return(Error(result));

            //return null;
        }
Exemple #15
0
        public ActionResult GetAvrGradeStatistics(Area?area)
        {
            if (CurrentUser.UserRole == UserRole.Rackaz)
            {
                area = CurrentUser.Area;
            }
            var result = _reportService.GetAvrGradeStatistics(area);


            if (result.Success)
            {
                var series = new List <double>();

                foreach (var ts in result.Data.AvrGradeStatistics)
                {
                    var avrGrade = 0.0;
                    avrGrade = ts.Value;
                    series.Add(Math.Round(avrGrade, 2));
                }
                series = RemoveLastsZeros(series);
                var yearAndSemesterList = new List <string>();

                foreach (var ts in result.Data.AvrGradeStatistics)
                {
                    var i = ts.Key;
                    yearAndSemesterList.Add(i);
                }



                var chartModel = new HighChartModel
                {
                    chart = new Chart
                    {
                        type = "line"
                    },
                    title = new Title
                    {
                        text = (area.HasValue ? string.Format(" ממוצע חניכים במהלך הסמסטרים באיזור {0}", area.Value.ToDescription()) : " ממוצע חניכים במהלך הסמסטרים"),
                        //text = "דוח ממוצע חניכים במהלך הסמסטרים",
                        x = -20
                    },
                    xAxis = new Xaxis
                    {
                        categories = yearAndSemesterList,
                        title      = new Title1
                        {
                            text = "שנה_סמסטר"
                        }
                    },
                    yAxis = new Yaxis
                    {
                        title = new Title1
                        {
                            text = "ממוצע ציונים"
                        },
                        plotLines = new List <Plotline> {
                            new Plotline
                            {
                                color = "#808080",
                                value = 0,
                                width = 1
                            }
                        }
                    },
                    series = new List <Series>
                    {
                        new Series
                        {
                            data = series,
                            name = "ממוצע ציונים"
                        }
                    },
                    legend = new Legend
                    {
                        layout        = "vertical",
                        align         = "right",
                        verticalAlign = "middle",
                        borderWidth   = 0
                    },
                    tooltip = new Tooltip1()
                    {
                        headerFormat = "<span style='font-size:10px'>{point.key}</span><table>",
                        pointFormat  = "<tr><td style='color:{series.color};padding:0'>{series.name}: </td><td style='padding:0'><b>{point.y}</b></td></tr>",
                        footerFormat = "</table>",
                        shared       = true,
                        useHTML      = true
                    },
                    exporting = new Exporting
                    {
                        enabled = true
                    }
                };

                return(Json(chartModel));
            }
            return(Error(result));
            //return null;
        }
Exemple #16
0
        public ActionResult GetInvestedHoursStatistics(Area?area)
        {
            if (CurrentUser.UserRole == UserRole.Rackaz)
            {
                area = CurrentUser.Area;
            }
            var result = _reportService.GetInvestedHoursStatistics(area);

            if (result.Success)
            {
                var series = new List <double>();

                //function that findes the most pazam trainee!!!
                var maxYearT = _reportService.GetMaxPazam();
                var max      = maxYearT.Data;

                for (var i = max; i >= 0; i--)
                {
                    var investedHours = 0.0;

                    if (result.Data.InvestedHoursStatistics.ContainsKey(i))
                    {
                        investedHours = result.Data.InvestedHoursStatistics[i];
                    }

                    series.Add(Math.Round(investedHours, 2));
                }
                series = RemoveLastsZeros(series);
                //int[] pazamList = new int[max];
                var pazamList = new List <string>();

                for (var i = 0; i <= max; i++)
                {
                    //pazamList[i] = i.ToString();
                    var relevantYear = DateTime.Now.Year - max + i;
                    pazamList.Add(relevantYear.ToString());
                }


                var chartModel = new HighChartModel
                {
                    chart = new Chart
                    {
                        type = "line"
                    },
                    title = new Title
                    {
                        text = (area.HasValue ? string.Format(" סטטיסטיקת שעות חניכה כתלות בותק באיזור {0}", area.Value.ToDescription()) : " סטטיסטיקת שעות חניכה כתלות בותק"),
                        //text = "דוח סטטיסטיקה שעות חניכה כתלות בותק",
                        x = -20
                    },
                    xAxis = new Xaxis
                    {
                        categories = pazamList,  // new List<string>
                        title      = new Title1
                        {
                            text = "שנת הצטרפות החניך"
                        }
                    },
                    yAxis = new Yaxis
                    {
                        title = new Title1
                        {
                            text = "סכום שעות החניכה"
                        },
                        plotLines = new List <Plotline> {
                            new Plotline
                            {
                                color = "#808080",
                                value = 0,
                                width = 1
                            }
                        }
                    },
                    series = new List <Series>
                    {
                        new Series
                        {
                            data = series,
                            name = "סכום שעות חניכה"
                        }
                    },
                    legend = new Legend
                    {
                        layout        = "vertical",
                        align         = "right",
                        verticalAlign = "middle",
                        borderWidth   = 0
                    },
                    tooltip = new Tooltip1()
                    {
                        headerFormat = "<span style='font-size:10px'>{point.key}</span><table>",
                        pointFormat  = "<tr><td style='color:{series.color};padding:0'>{series.name}: </td><td style='padding:0'><b>{point.y}</b></td></tr>",
                        footerFormat = "</table>",
                        shared       = true,
                        useHTML      = true
                    },
                    exporting = new Exporting
                    {
                        enabled = true
                    }
                };

                return(Json(chartModel));
            }
            return(Error(result));
            //return null;
        }