Exemplo n.º 1
0
        public async Task <FollowertriumphTotalViewModel> GetMemberTotal(DateTime?sDate, DateTime?eDate, string MemberMobile)
        {
            if (MemberMobile == null)
            {
                MemberMobile = "";
            }
            FollowertriumphTotalViewModel ret = null;

            try
            {
                using (SqlConnection con = new SqlConnection(constr))
                {
                    var p = new DynamicParameters();
                    p.Add("@sDate", sDate, dbType: DbType.DateTime, direction: ParameterDirection.Input);
                    p.Add("@eDate", eDate, dbType: DbType.DateTime, direction: ParameterDirection.Input);
                    p.Add("@MemberMobile", MemberMobile, dbType: DbType.String, direction: ParameterDirection.Input);
                    p.Add("@r", dbType: DbType.Int32, direction: ParameterDirection.ReturnValue);
                    await con.OpenAsync();

                    IEnumerable <FollowertriumphTotalViewModel> tmp = await con.QueryAsync <FollowertriumphTotalViewModel>("sp_GetMemberTotal", p, commandType : CommandType.StoredProcedure);

                    ret = tmp.FirstOrDefault <FollowertriumphTotalViewModel>();
                }
            }
            catch (Exception ex)
            {
                string msg = ex.Message;
                ret = null;
            }
            return(ret);
        }
Exemplo n.º 2
0
        //20181121 ---棋
        public async Task <IViewComponentResult> InvokeAsync(string MemberMobile, DateTime?sDate, DateTime?eDate, string ReferrerMobile, int Page = 1, int StartPage = 1)
        {
            //9-1.系統在ViewComponent【Followertriumph】中讀取Appsetting.json中的每頁筆數BRowsPerPage以及分頁頁碼連結總數PageCount。
            int RowsPerPage = int.Parse(config["Page:BRowsPerPage"]);
            int PageCount   = int.Parse(config["Page:PageCount"]);
            //9-2.系統在ViewComponent【Followertriumph】讀取我的下線業績總數。
            long memberCount = await IOR.GetFollowertriumphCount(ReferrerMobile, sDate, eDate, MemberMobile);

            //9-3.系統依9-2傳回值將9傳送頁碼重設在Between 1 and(9讀取記錄筆數/RowsPerPage)+(9讀取記錄筆數%RowsPerPage==0?0:1)。
            int TotalPages = (int)(memberCount / RowsPerPage);

            if (memberCount % RowsPerPage > 0)
            {
                TotalPages += 1;
            }
            if (Page < 1)
            {
                Page = 1;
            }
            if (Page > TotalPages)
            {
                Page = TotalPages;
            }
            if (Page <= 0)
            {
                Page = 1;
            }
            //9-4.系統計算資料Skip數 = (9傳送頁碼(預設1) - 1)*9 - 1讀取RowsPerPage。
            int Skip = (Page - 1) * RowsPerPage;
            //9-5系統在ViewComponent【FollowertriumphViewComponent】讀取我的下線業績清單:
            List <FollowertriumphViewModel> FollowVM = await IOR.GetFollowertriumphList(ReferrerMobile, sDate, eDate, MemberMobile, Skip, RowsPerPage);

            //9-5-1系統在ViewComponent【FollowertriumphViewComponent】讀取下線批發總額:
            FollowertriumphTotalViewModel ReferrerTota = await IOR.GetFollowertriumphTotal(sDate, eDate, MemberMobile);

            //9-5-2系統在ViewComponent【FollowertriumphViewComponent】讀取會員批發總額:
            FollowertriumphTotalViewModel MemberTotall = await IOR.GetMemberTotal(sDate, eDate, MemberMobile);

            //計算Bonus 預設0  如果超過3000 把值取代掉 否則為0
            //如果 ReferrerTota.Total >= 3000 將 Bonus 取代成 ReferrerTota.Total * 0.05M
            decimal Bonus = 0;

            if (MemberTotall.Total > 3000)
            {
                Bonus = ReferrerTota.Total * 0.05M;
            }

            //9-6.系統設定PagerTagHelper之相關參數
            int CurrentPage = Page;

            //9-6-1.系統將管理者權限清單Session["EmployeeRights"]暫存在ViewBag.TR。
            ViewBag.TR   = HttpContext.Session.GetObjectFromJson <List <int> >("EmployeeRights");
            ViewBag.Page = Page;

            return(View(new FollowertriumphManageViewModel
            {
                listFollowertriumphViewModel = FollowVM,
                CurrentPage = CurrentPage,
                TotalPages = TotalPages,
                PageCount = PageCount,
                StartPage = StartPage,
                Parameters = Page,
                FollowertriumphTotall = ReferrerTota,
                MemberTotall = MemberTotall,
                memberCount = memberCount,
                Bonus = Bonus,
            }));
        }