Пример #1
0
        public void SendMsgByButton(string livePageID)
        {
            var live_repo  = new LivePostsRepository();
            int liveid     = live_repo.Select(livePageID);
            var order_repo = new OrderRepositories();
            //List<string> ids = new List<string> { "3032519476788720", "2762673820474754" };
            List <MsgTextViewModel> ordersinfo = order_repo.SelectAllOrdersInfo(liveid);
            //string token = (string)Session["token"];
            string userid = User.Identity.GetUserId();
            string token  = FanPageService.GetToken(userid);
            var    orders = new List <OrderList>();

            foreach (var orderinfo in ordersinfo)
            {
                var order = new OrderList();
                order.CustomerID   = orderinfo.CustomerID;
                order.CustomerName = orderinfo.CustomerName;
                order.OrderID      = orderinfo.OrderID;
                order.Product      = new ProductViewModel {
                    Salepage_id = orderinfo.ProductPageID, SkuId = orderinfo.ProductID, ProductName = orderinfo.ProductName
                };
                order.Quantity = orderinfo.Quantity;
                orders.Add(order);
                FBSendMsgService.SuccessOrderToSendMsg(livePageID, order, token);
            }
        }
Пример #2
0
        public ActionResult FbOrderChart(int liveId)
        {
            LivePostsRepository livePost_repo = new LivePostsRepository();
            var time = livePost_repo.GetLivePost(liveId);

            OrderRepositories order_repo = new OrderRepositories();
            var orders = order_repo.GetOrders(liveId);

            var      post           = time.postTime.Minute;
            TimeSpan interval       = time.endTime - time.postTime;
            var      minutes        = Math.Round(Convert.ToDouble(interval.TotalMinutes));
            var      intervalOrders = new List <CommentOrderLIstViewModel>();

            var sum       = new List <int>();
            var datetime  = new List <string>();
            var chartData = new { datetime, sum };

            for (var i = 0; i <= minutes; i++)
            {
                intervalOrders = orders.Where((x) => post + i <= x.OrderDateTime.Minute && x.OrderDateTime.Minute < post + i + 1).ToList();

                var qty = 0;
                foreach (var item in intervalOrders)
                {
                    qty += item.Quantity;
                }
                datetime.Add(time.postTime.AddMinutes(i).ToString("HH:mm"));
                sum.Add(qty);
            }

            return(Json(chartData));
        }
Пример #3
0
        public ActionResult GetROIOrderInfo(string livePageId)
        {
            OrderRepositories o_repo = new OrderRepositories();
            var amount = o_repo.GetAmount(livePageId);
            var qty    = o_repo.GetQtyOfOrders(livePageId);
            var Order  = new { Amount = amount, Qty = qty };

            return(Json(Order, JsonRequestBehavior.AllowGet));
        }
Пример #4
0
        public ActionResult SetPostEndtime(string livePageID)
        {
            OrderRepositories o_repo = new OrderRepositories();
            decimal           Amount = o_repo.GetAmount(livePageID);
            int QtyOfOrders          = o_repo.GetQtyOfOrders(livePageID);
            var live_repo            = new LivePostsRepository();
            int views = (int)Session["views"];

            live_repo.UpdatePost(livePageID, QtyOfOrders, Amount, DateTime.UtcNow.AddHours(8), views);
            Session.Abandon();
            return(RedirectToAction("Index", "Report"));
        }
Пример #5
0
        public ActionResult CommentsOrderList(int liveId)
        {
            LivePostsRepository livePost_repo = new LivePostsRepository();

            ViewData["LivePost"] = livePost_repo.GetLivePost(liveId);

            OrderRepositories order_repo            = new OrderRepositories();
            List <CommentOrderLIstViewModel> orders = order_repo.GetOrders(liveId);

            ViewData.Model = orders;
            return(View());
        }
Пример #6
0
        public ActionResult GetPlusOneBuyOrders(string livePageID, string keywordPattern)
        {
            //try
            //{
            //string token = Session["token"].ToString();
            string userid        = User.Identity.GetUserId();
            string token         = FanPageService.GetToken(userid);
            var    products      = ProductService.GetCurrentProducts().ProductItems;
            var    OrderList     = CommentFilterService.getNewOrderList(livePageID, token, products, keywordPattern);
            var    Success_order = new List <OrderList>();

            if (OrderList.Count > 0)
            {
                var order_repo = new OrderRepositories();
                Session["lastPostTime"] = OrderList.Last().OrderDateTime;
                foreach (var order in OrderList)
                {
                    //留言成功,數量修改
                    if (ProductService.UpdateProductQty(order.Product.SkuId, order.Quantity))
                    {
                        Success_order.Add(order);
                        order_repo.InsertOrder(order);
                        FBSendMsgService.SuccessOrderToSendMsg(livePageID, order, token);
                    }
                    else  //留言失敗
                    {
                        FBSendMsgService.FailedOrderToSendMsg(livePageID, order, token);
                    }
                }
            }
            var result = JsonConvert.SerializeObject(Success_order);

            return(Json(result));
            //}
            //catch (Exception e)
            //{
            //    DateTime date = DateTime.UtcNow.AddHours(8);
            //    string today = date.ToString("yyyy-MM-dd");
            //    string now = date.ToString("yyyy-MM-dd HH:mm:ss");
            //    if (!Directory.Exists("C:\\log"))
            //    {
            //        Directory.CreateDirectory("C:\\log\\");
            //    }

            //    string nowPath = "C:\\log\\" + today + ".txt";

            //    System.IO.File.AppendAllText("C:\\log\\" + today + ".txt", "\r\n" + now + " : " + e);

            //    return Json("error");
            //}
        }
Пример #7
0
        public static List <OrderList> getNewOrderList(string livePageID, string token, List <ProductViewModel> products, string keywordPattern)
        {
            var orderList   = new List <OrderList>();
            var allComments = FBRequestService.getAllComments(livePageID, token);

            if (allComments.Count != 0)
            {
                //過濾出經由推播後的時間開始才喊關鍵字的人
                var PickPosts = CommentFilterService.PostTimeFilter(allComments, livePageID);
                if (PickPosts.Count > 0)
                {
                    orderList = CommentFilterService.KeywordFilter(products, PickPosts, livePageID, keywordPattern);
                    var order_repo = new OrderRepositories();
                    order_repo.InsertOrder(orderList);
                }
            }
            return(orderList);
        }
Пример #8
0
        public static List <Datum> PostTimeFilter(List <Datum> comments, string livePageID)
        {
            LivePostsRepository livePost_repo = new LivePostsRepository();
            var livePostTime = livePost_repo.GetMaxPostTime(livePageID);
            //去Orders Table 看有沒有留言,有的話就抓最後一個留言的時間沒有的話就過濾livePostTime 的時間
            var      order_repo   = new OrderRepositories();
            var      live_repo    = new LivePostsRepository();
            int      liveid       = live_repo.Select(livePageID);
            DateTime selectResult = order_repo.SelectLastOrderComment(liveid); //SQL 要改

            if (selectResult != DateTime.MaxValue)
            {
                comments = comments.Where(x => DateTime.Compare(x.created_time.ToUniversalTime().AddHours(8), selectResult) > 0).ToList();
            }
            else
            {
                comments = comments.Where(x => DateTime.Compare(x.created_time.ToUniversalTime().AddHours(8), livePostTime) > 0).ToList();
            }

            return(comments);
        }
Пример #9
0
 public OrderService()
 {
     Order_repo = new OrderRepositories();
 }