public async Task<IActionResult> Master(GetCloudAccountInput input)
 {            
     var proxyid=int.Parse(User.FindFirst("ProxyId").Value) ;
     var dtos = await CloudAccountService.GetPaginatedResult(input,proxyid);
     var proxycoms = await RepositoryWrapper.ProxyCompany.GetAllListAsync();
  
     
     ViewBag.proxycoms=proxycoms;
    
     switch(input.Sorting)
     {
         case "Cid":                    
             ViewBag.sortId="Cid_desc";
             break;
         case "Cid_desc":                    
             ViewBag.sortId="Cid";
             break;
         case "group":                     
             ViewBag.sortgroup="group_desc";
             break;
         case "group_desc":                     
             ViewBag.sortgroup="group";
             break;
         case "type":                     
             ViewBag.sorttype="type_desc";
             break;
         case "type_desc":                     
             ViewBag.sorttype="type";
             break;
         case "enddate":                     
             ViewBag.sortenddate="enddate_desc";
             break;
         case "enddate_desc":
             
             ViewBag.sortenddate="enddate";
             break;
         case "proxy":
             
             ViewBag.sortproxy="proxy_desc";
             break;
         case "proxy_desc":
             
             ViewBag.sortproxy="proxy";
             break;
         default:
             ViewBag.sortId="Cid";
             ViewBag.sortgroup="group";
             ViewBag.sorttype="type";
             ViewBag.sortenddate="enddate";
             ViewBag.sortproxy="proxy";
             break;
     }
         
     
     return View(dtos);
 }
Esempio n. 2
0
        public async Task <PagedResultDto <CustMast> > GetPaginatedResult(GetCloudAccountInput input, int proxyid)
        {
            var query = await Repository.CustMast.GetAllListAsync();


            var getProxyId = Repository.ProxyCompany.FirstorDefaultAsync(s => s.CompanyName.Contains(input.FilterText));

            if (!string.IsNullOrWhiteSpace(input.FilterText))
            {
                query = query.Where(s => s.Cid.Contains(input.FilterText) || s.Group.Contains(input.FilterText) ||
                                    s.ProxyId == getProxyId.Id).ToList();
            }
            if (proxyid != 0)
            {
                query = query.Where(X => X.ProxyId == proxyid).ToList();
            }
            switch (input.Sorting)
            {
            case "Cid":
                query = query.OrderBy(S => S.Cid).ToList();
                break;

            case "Cid_desc":
                query = query.OrderByDescending(S => S.Cid).ToList();
                break;

            case "group":
                query = query.OrderBy(S => S.Group).ToList();
                break;

            case "group_desc":
                query = query.OrderByDescending(S => S.Group).ToList();
                break;

            case "type":
                query = query.OrderBy(S => S.Allowstatus).ToList();

                break;

            case "type_desc":
                query = query.OrderByDescending(S => S.Allowstatus).ToList();

                break;

            case "enddate":
                query = query.OrderBy(S => S.Enddate).ToList();

                break;

            case "enddate_desc":
                query = query.OrderByDescending(S => S.Enddate).ToList();

                break;

            case "proxy":
                query = query.OrderBy(S => S.ProxyId).ToList();

                break;

            case "proxy_desc":
                query = query.OrderByDescending(S => S.ProxyId).ToList();

                break;

            default:
                query = query.OrderByDescending(S => S.Id).ToList();
                break;
            }


            var count = query.Count();

            query = query.Skip((input.CurrentPage - 1) * input.MaxResultCount).Take(input.MaxResultCount).ToList();
            var dtos = new PagedResultDto <CustMast>
            {
                TotalCount     = count,
                CurrentPage    = input.CurrentPage,
                MaxResultCount = input.MaxResultCount,
                Data           = query,
                FilterText     = input.FilterText,
                Sorting        = input.Sorting
            };

            return(dtos);
        }