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)); }
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)); }
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)); }