コード例 #1
0
        public async Task <JsonResult> GetInvoiceNo(string search, int page, int limit, Guid branch_id)
        {
            int offset = limit * (page - 1);
            List <SaleInvoicesIndexModels> list = new List <SaleInvoicesIndexModels>();

            if (string.IsNullOrEmpty(search))
            {
                list = await(from si in db.SaleInvoices
                             join u in db.User on si.Customer_UserAccounts_Id equals u.Id
                             where si.Due == 0 && si.Cancelled == false && si.Branches_Id == branch_id
                             orderby si.No
                             select new SaleInvoicesIndexModels
                {
                    Id       = si.Id,
                    No       = si.No,
                    Customer = u.Firstname + " " + u.Middlename + " " + u.Lastname
                }).Skip(offset).Take(limit).ToListAsync();
            }
            else
            {
                list = await(from si in db.SaleInvoices
                             join u in db.User on si.Customer_UserAccounts_Id equals u.Id
                             where si.Due == 0 && si.Cancelled == false && si.Branches_Id == branch_id &&
                             (si.No.Contains(search) || u.Firstname.Contains(search) || u.Middlename.Contains(search) || u.Lastname.Contains(search))
                             orderby si.No
                             select new SaleInvoicesIndexModels
                {
                    Id       = si.Id,
                    No       = si.No,
                    Customer = u.Firstname + " " + u.Middlename + " " + u.Lastname
                }).Skip(offset).Take(limit).ToListAsync();
            }

            List <Select2Pagination.Select2Results> results = new List <Select2Pagination.Select2Results>();

            foreach (var item in list)
            {
                results.Add(new Select2Pagination.Select2Results
                {
                    id   = item.Id.ToString(),
                    text = string.Format("{0} - {1}", item.No, item.Customer)
                });
            }

            Select2Pagination.Select2Page pagination = new Select2Pagination.Select2Page
            {
                more = results.Count() == limit ? true : false
            };

            return(Json(new { results, pagination }, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public JsonResult Ajax_GetDDLItems(string keyword, int page, int take, string key)
        {
            int skip = take * (page - 1);
            List <UserAccountsModel> models = get(skip, take, keyword, 1, null, key, SettingsController.ShowOnlyOwnUserData(Session));

            List <Select2Pagination.Select2Results> results = new List <Select2Pagination.Select2Results>();

            results.AddRange(models.Select(model => new Select2Pagination.Select2Results
            {
                id   = model.Id,
                text = model.Fullname
            }));

            Select2Pagination.Select2Page pagination = new Select2Pagination.Select2Page
            {
                more = results.Count() == take ? true : false
            };

            return(Json(new { results, pagination }, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
ファイル: UserController.cs プロジェクト: setiawri/iSpeakWeb
        public async Task <JsonResult> GetUser(string search, int page, int limit, string role)
        {
            int offset             = limit * (page - 1);
            List <UserModels> list = new List <UserModels>();

            if (string.IsNullOrEmpty(search))
            {
                if (role.ToLower() == "all")
                {
                    list = await db.User.Where(x => x.Active == true).OrderBy(x => x.Firstname).Skip(offset).Take(limit).ToListAsync();
                }
                else
                {
                    var items = await(from u in db.User
                                      join ur in db.UserRole on u.Id equals ur.UserId
                                      join r in db.Role on ur.RoleId equals r.Id
                                      where u.Active == true && r.Name.ToLower() == role.ToLower()
                                      orderby u.Firstname
                                      select new { u, ur, r }).Skip(offset).Take(limit).ToListAsync();
                    foreach (var i in items)
                    {
                        list.Add(i.u);
                    }
                }
            }
            else
            {
                if (role.ToLower() == "all")
                {
                    list = await db.User.Where(x =>
                                               x.Active == true && x.Firstname.Contains(search) || x.Middlename.Contains(search) || x.Lastname.Contains(search)
                                               ).OrderBy(x => x.Firstname).Skip(offset).Take(limit).ToListAsync();
                }
                else
                {
                    var items = await(from u in db.User
                                      join ur in db.UserRole on u.Id equals ur.UserId
                                      join r in db.Role on ur.RoleId equals r.Id
                                      where u.Active == true && r.Name.ToLower() == role.ToLower() &&
                                      (u.Firstname.Contains(search) || u.Middlename.Contains(search) || u.Lastname.Contains(search))
                                      orderby u.Firstname
                                      select new { u, ur, r }).Skip(offset).Take(limit).ToListAsync();
                    foreach (var i in items)
                    {
                        list.Add(i.u);
                    }
                }
            }

            List <Select2Pagination.Select2Results> results = new List <Select2Pagination.Select2Results>();

            foreach (var item in list)
            {
                results.Add(new Select2Pagination.Select2Results
                {
                    id   = item.Id,
                    text = item.Firstname + " " + item.Middlename + " " + item.Lastname
                });
            }

            Select2Pagination.Select2Page pagination = new Select2Pagination.Select2Page
            {
                more = results.Count() == limit ? true : false
            };

            return(Json(new { results, pagination }, JsonRequestBehavior.AllowGet));
        }