// tổng tiền thu được từ sp đã bán public static int countMoney_ProductSold(IProductDTOService productService, IInfoOrderDTOService infoOrderService, IPayOrderDTOService payOrderService, string thang, string nam) { return(TopSoldProducts_Greater(productService, infoOrderService, payOrderService, thang, nam) .Sum(p => p.totalMoney)); }
// sl sp đã bán public static int countProductSoldInYear(IProductDTOService productService, IInfoOrderDTOService infoOrderService, IPayOrderDTOService payOrderService, string nam) { return(TopSoldProducts_GreaterInYear(productService, infoOrderService, payOrderService, nam) .Sum(p => p.count_ProductSold)); }
// đếm số lượng thông báo chỉ tiêu < 1 triệu public static int countTurnoverLess1Milion(IPayOrderDTOService payOrderService, string sendYear) { var less_1_million = TurnoverOfYear(payOrderService, sendYear).Where(t => t.Message == "_").ToList(); if (less_1_million == null) { return(0); } return(less_1_million.Count()); }
public static List <StatisticalProducts> TopSoldProducts_Greater( IProductDTOService productService, IInfoOrderDTOService infoOrderService, IPayOrderDTOService payOrderService, string thang, string nam ) { List <StatisticalProducts> data = new List <StatisticalProducts>(); var products = productService.GetAllProduct(); var payOrders = payOrderService.GetAllPayOrder(); var infoOrders = infoOrderService.GetAllInfoOrder(); foreach (var product in products) { var countAmount_Product_Sold = 0; var totalMoney = 0; foreach (var pay in payOrders) { if (pay.StatusPay == "Đã thanh toán") { var dateToPay = pay.DateToPay; var ConvertDateToPay = dateToPay.Split('-'); // tách chuỗi ngày - tháng - năm var month = ConvertDateToPay[1]; var year = ConvertDateToPay[2]; // lấy tháng năm if (nam == year && thang == month) { foreach (var info in infoOrders) { if (info.IDP == pay.ID && info.IDSP == product.IDSP) { countAmount_Product_Sold += int.Parse(info.Amount); totalMoney += int.Parse(info.IntoMoney); } } } } } data.Add(new StatisticalProducts { ID_Product = product.IDSP, Name_Product = product.Name, count_ProductSold = countAmount_Product_Sold, totalMoney = totalMoney, year = nam, }); } return(data.OrderByDescending(d => d.count_ProductSold).ToList()); }
public static List <TurnoverOfYear> TurnoverOfYear(IPayOrderDTOService payOrderService, string sendYear) { List <TurnoverOfYear> data = new List <TurnoverOfYear>(); var orders = payOrderService.GetAllPayOrder(); // b1: duyệt tháng từ 1 -> 12 for (int m = 1; m <= 12; m++) { var turnoverOfMonth = 0; var message = ""; foreach (var order in orders) { var dateToPay = order.DateToPay; if (order.StatusPay == "Đã thanh toán") { if (dateToPay != null) { var ConvertDateToPay = dateToPay.Split('-'); // tách chuỗi ngày - tháng - năm var month = ConvertDateToPay[1]; // lấy tháng ra var year = ConvertDateToPay[2]; // lấy tháng ra // kiểm tra tháng trùng khớp vs tháng duyệt ko if (int.Parse(month) == m && year == sendYear) { // cộng dồn doanh thu của tháng đó turnoverOfMonth += int.Parse(order.Total); } } } } // lập thông báo cho tháng đó nếu doanh thu thấp hơn 1 triệu if (turnoverOfMonth < 1000000) { message += "_"; } // sau khi duyệt xong 1 tháng thì add vào mảng doanh thu của năm data.Add(new TurnoverOfYear { Month = m.ToString(), Year = sendYear, Turnover = turnoverOfMonth.ToString(), Message = message }); } return(data.OrderByDescending(d => d.Turnover).ToList()); }
public static List <StatisticalOrders> statisticalOrders_Asc(IPayOrderDTOService orderService, String nam) { return(statisticalOrders(orderService, nam).OrderBy(s => s.totalOrders).ToList()); }
public static int totalMoney(IPayOrderDTOService orderService, String nam) { return(statisticalOrders(orderService, nam).Sum(s => int.Parse(s.totalMoney))); }
public static int totalOrderCancel(IPayOrderDTOService orderService, String nam) { return(statisticalOrders(orderService, nam).Sum(s => s.totalOrderCancels)); }
public static List <StatisticalOrders> statisticalOrders(IPayOrderDTOService orderService, String nam) { List <StatisticalOrders> data = new List <StatisticalOrders>(); for (int i = 1; i <= 12; i++) { var countOrders = 0; var countOrderSuccess = 0; var countOrderCancel = 0; var countMoney = 0; foreach (var order in orderService.GetAllPayOrder()) { if (order.Status == "Đã giao hàng") { var monthPay = int.Parse(order.DateToPay.Split('-')[1]); var yearPay = order.DateToPay.Split('-')[2]; if (monthPay == i && yearPay == nam) { countOrderSuccess++; countMoney += int.Parse(order.Total); countOrders++; } } if (order.Status == "Đã hủy") { var monthPay = int.Parse(order.DateCancel.Split('-')[1]); var yearPay = order.DateCancel.Split('-')[2]; if (monthPay == i && yearPay == nam) { countOrderCancel++; countOrders++; } } } if (countOrders == 0) { data.Add(new StatisticalOrders { idMonth = i, idYear = int.Parse(nam), totalOrders = countOrders, totalOrderSuccesses = countOrderSuccess, totalOrderCancels = countOrderCancel, totalMoney = countMoney.ToString(), ratioSuccess = 0, ratioCancel = 0, }); } else { data.Add(new StatisticalOrders { idMonth = i, idYear = int.Parse(nam), totalOrders = countOrders, totalOrderSuccesses = countOrderSuccess, totalOrderCancels = countOrderCancel, totalMoney = countMoney.ToString(), ratioSuccess = ((float)countOrderSuccess / (float)countOrders) * 100, ratioCancel = ((float)countOrderCancel / (float)countOrders) * 100, }); } } return(data); }
// tháng có doanh thu thấp nhất public static TurnoverOfYear LowestRevenue(IPayOrderDTOService payOrderService, string sendYear) { return(TurnoverOfYear(payOrderService, sendYear).OrderBy(s => s.Turnover).First()); }
// tổng doanh thu public static int countTotalStatistics(IPayOrderDTOService payOrderService, string sendYear) { return(TurnoverOfYear(payOrderService, sendYear).Sum(t => int.Parse(t.Turnover))); }