public ActionResult _Index1(StaffSearch staffSearch, int?page) { int TotalCount = 0; var pageSize = 10; var pageNumber = page ?? 1; int CurrentPage = pageNumber; int endPage = CurrentPage + 4; int PagesToShow = 10; ViewBag.TotalCount = TotalCount; ViewBag.PageSize = pageSize; var body = JsonConvert.SerializeObject(staffSearch); var StaffModelList = Services.StaffService.GetSearchData(staffSearch, page, out TotalCount); var result = Helper.CommonFunction.GetPages(TotalCount, pageSize, CurrentPage, PagesToShow); int totalPages = (TotalCount / pageSize) + (TotalCount % pageSize == 0 ? 0 : 1); ViewBag.result = result; ViewBag.totalPages = totalPages; ViewBag.CurrentPage = CurrentPage; var pageCount = result.Count(); ViewBag.pageCount = pageCount; ViewBag.endPage = endPage; return(View(StaffModelList)); }
public Task <IEnumerable <Staff> > GetAsync(StaffSearch option, CancellationToken token = default(CancellationToken)) { var query = @" SELECT st.* , dp.Code DepartmentCode , dp.Name DepartmentName FROM Staff st LEFT JOIN Department dp ON dp.Id = st.DepartmentId WHERE st.Id = st.Id"; if (option.CompanyId.HasValue) { query += @" AND st.CompanyId = @CompanyId"; } if (option.Ids?.Any() ?? false) { query += @" AND st.Id IN (SELECT Id FROM @Ids)"; } if (option.Codes?.Any() ?? false) { query += @" AND st.Code IN (SELECT Code FROM @Codes)"; } if (!string.IsNullOrWhiteSpace(option.Name)) { option.Name = Sql.GetWrappedValue(option.Name); query += @" AND st.Name LIKE @Name"; } if (option.DepartmentId.HasValue) { query += @" AND st.DepartmentId = @DepartmentId"; } if (!string.IsNullOrWhiteSpace(option.Mail)) { query += @" AND st.Mail = @Mail"; } query += @" ORDER BY st.CompanyId ASC , st.Code ASC"; return(dbHelper.GetItemsAsync <Staff>(query, new { option.CompanyId, option.Name, option.DepartmentId, option.Mail, Ids = option.Ids.GetTableParameter(), Codes = option.Codes.GetTableParameter(), }, token)); }
public async Task <StaffsResult> GetItemsAsync(string SessionKey, StaffSearch option) { return(await authorizationProcessor.DoAuthorizeAsync(SessionKey, async token => { var result = (await staffProcessor.GetAsync(option, token)).ToList(); return new StaffsResult { ProcessResult = new ProcessResult { Result = true }, Staffs = result, }; }, logger)); }
public async Task <IEnumerable <Staff> > SearchByKey(params string[] keys) => await ServiceProxyFactory.DoAsync(async (StaffMasterClient client) => { var option = new StaffSearch { CompanyId = Application.Login.CompanyId, UseCommonSearch = true, }; if (keys?.Any() ?? false) { option.Name = keys.First(); } var result = await client.GetItemsAsync(Application.Login.SessionKey, option); if (result.ProcessResult.Result) { return(result.Staffs); } return(null); });
public List <StaffModel> GetSearchData(StaffSearch staffSearch, int?page, out int TotalCount) { // int pageSize = 4; int pageNumber = (page ?? 1); var body = JsonConvert.SerializeObject(staffSearch); var result = ServerResponse.Invoke <ServiceResult <List <StaffModel> > >("api/staff/getSearchData", body, "Post"); TotalCount = result.TotalCount; if (result.data != null) { var model = result.data.ToList(); return(model); } else { } return(result.data.ToList()); }
public async Task <IEnumerable <Staff> > GetAsync(StaffSearch option, CancellationToken token = default(CancellationToken)) => await staffQueryProcessor.GetAsync(option, token);
public void GetManagerIdBySubordinateNameTest() { StaffSearch staffSearch = new StaffSearch(); var item = staffSearch.GetManagerBySubordinateStaffId("43981976"); }
public async Task <ActionResult <IEnumerable <Staff> > > GetItems(StaffSearch option, CancellationToken token) => (await staffProcessor.GetAsync(option, token)).ToArray();
public JsonResult GetList(GridPager pager, StaffSearch staffSearch) { List <Staff> list = new List <Staff>(); DateTime defaultDateTime = new DateTime(1, 1, 1, 0, 0, 0); //staffSearch.name = ""; /* * 初始化页面:只有pager接收到浏览器传来的参数,staffSearch中的属性均为默认值。 */ if (staffSearch.name == null && staffSearch.date_from.Value == defaultDateTime && staffSearch.date_to == defaultDateTime) { pager.totalRows = StaffService.GetModels(c => true).ToList().Count(); //初始化页面根据Id排序 list = StaffService.GetModelsByPage(pager.rows, pager.page, pager.isAsc, c => c.Id, c => true).ToList(); } /* * 查询页面:staffSearch接收到浏览器传来的值,staffSearch中的属性均变为自定义的默认值。 */ else { //先想一想SQL怎么写,再写Lambda表达式 Expression <Func <Staff, bool> > whereLambda = u => (u.CreateTime >= staffSearch.date_from && u.CreateTime <= staffSearch.date_to) && u.Name.Contains(staffSearch.name); //查询页面根据时间增序排列 Expression <Func <Staff, DateTime?> > orderByLambda = c => c.CreateTime; pager.totalRows = StaffService.GetModels(whereLambda).ToList().Count(); list = StaffService.GetModelsByPage(pager.rows, pager.page, pager.isAsc, orderByLambda, whereLambda).ToList(); } var json = new { total = pager.totalRows, /* * rows = (from r in list * select new Staff() * { * Id = r.Id, * Name = r.Name, * Age = r.Age, * Sex = r.Sex, * CreateTime = r.CreateTime, * }).ToArray() */ rows = list.Select(staff => new { Id = staff.Id, Name = staff.Name, Age = staff.Age, Sex = staff.Sex, CreateTime = staff.CreateTime }).ToArray() }; return(Json(json, JsonRequestBehavior.AllowGet)); }