private Document queryDocument() { NghiphepEntities db = new NghiphepEntities(); var query = (from doc in db.Documents join user in db.Users on doc.createdById equals user.C_id select new { C_id = doc.C_id, createdBy = user, code = doc.code, status = doc.status, createdAt = doc.createdAt }).OrderBy(x => x.code); var documents = query.ToList().Select(r => new Document { C_id = r.C_id, createdBy = r.createdBy, code = r.code, status = r.status, createdAt = r.createdAt }).ToList(); documents.Reverse(); return(documents.Count > 0 ? documents[0] : null); }
public ActionResult Employee(string id) { if (id != null) { NghiphepEntities db = new NghiphepEntities(); var query = (from user in db.Users join title in db.Titles on user.titleId equals title.C_id where user.C_id == id select new { C_id = user.C_id, title = title, username = user.username }); var users = query.ToList().Select(r => new User { C_id = r.C_id, Title = r.title, username = r.username }).ToList(); return(View(users[0])); } else { return(View(new User() { username = "******", Title = new Title() { name = "Default" } })); } }
public ActionResult ChangePassword(ChangePasswordViewModel model) { //validate if (!ModelState.IsValid) { return(View(model)); } //validate if (model.NewPassword != model.NewPasswordAgain) { ModelState.AddModelError("", "Mật khẩu mới được nhập lại không khớp."); return(View(model)); } //Đổi trong database using (NghiphepEntities db = new NghiphepEntities()) { var user = db.Users.SingleOrDefault(x => x.username == User.Identity.Name && x.password == model.CurrentPassword); if (user != null) { user.password = model.NewPassword; db.SaveChanges(); ViewBag.MessageSuccess = "Mật khẩu đã được đổi thành công."; return(View(model)); } ModelState.AddModelError("", "Mật khẩu không đúng."); return(View(model)); } }
public ActionResult ViewDocument(string id) { NghiphepEntities db = new NghiphepEntities(); var query = (from doc in db.Documents join user in db.Users on doc.createdById equals user.C_id where doc.C_id == id select new { C_id = doc.C_id, createdBy = user, code = doc.code, status = doc.status, createdAt = doc.createdAt, startDate = doc.startDate, endDate = doc.endDate, reason = doc.reason }).OrderBy(x => x.code); var documents = query.ToList().Select(r => new Document { C_id = r.C_id, createdBy = r.createdBy, code = r.code, status = r.status, reason = r.reason, createdAt = r.createdAt, startDateString = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(r.startDate) / 1000d)).ToLocalTime().ToString(), endDateString = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(r.endDate) / 1000d)).ToLocalTime().ToString(), count = (int)((r.endDate - r.startDate) / 1000 / 3600 / 24) == 0 ? "1 ngày" : ((int)((r.endDate - r.startDate) / 1000 / 3600 / 24)).ToString() + " ngày" }).ToList(); documents.Reverse(); return(View(documents[0])); }
public ActionResult Register(NHANVIEN nv) { NghiphepEntities db = new NghiphepEntities(); User u = new User { C_id = "_User_01", address = nv.address, contractId = nv.contractId, email = nv.email, dayOff = 12, fullName = nv.fullName }; db.Users.Add(u); db.SaveChanges(); var contract_query = (from contract in db.ContractTypes select new { C_id = contract.C_id, code = contract.code, name = contract.name, dayOff = contract.dayOff }); var contracts = contract_query.ToList().Select(c => new ContractType { C_id = c.C_id, code = c.code, name = c.name, dayOff = c.dayOff }).ToList(); ViewData["contracts"] = contracts; return(View()); }
public ActionResult CreateLeaveForm(TaoDonNghiPhep dnp) { System.Diagnostics.Debug.WriteLine("CreateLeaveForm CreateLeaveForm CreateLeaveForm ", dnp.reason); if (ModelState.IsValid) { NghiphepEntities db = new NghiphepEntities(); Document document = queryDocument(); string code = CreateAutoCode(document != null ? document.code : null); var user = db.Users.FirstOrDefault(x => x.username == User.Identity.Name); var doc = new Document() { C_id = code, code = code, status = 0, createdAt = (float)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000, startDate = (float)(DateTime.ParseExact(dnp.dateStart, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000, endDate = (float)(DateTime.ParseExact(dnp.dateEnd, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000, createdById = user.C_id, reason = dnp.reason }; db.Documents.Add(doc); //try //{ db.SaveChanges(); //} //catch (DbEntityValidationException e) //{ // foreach (var eve in e.EntityValidationErrors) // { // System.Diagnostics.Debug.WriteLine(eve.Entry.Entity.GetType().Name, eve.Entry.State); // foreach (var ve in eve.ValidationErrors) // { // System.Diagnostics.Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"", // ve.PropertyName, ve.ErrorMessage); // } // } //} //write code to update student //Gửi mail khi tạo đơn, tương tự bên dưới luôn (CancelDocument) string mailBody = "Xin chào: " + user.fullName + "<br>" + "Thông tin đơn nghỉ phép của bạn đang chờ duyệt: <br>" + "- Từ ngày: " + dnp.dateStart + "<br>" + "- Đến ngày: " + dnp.dateEnd + "<br>" + "- Lý do: " + dnp.reason + "<br>" + "Xin cảm ơn."; var mail = new MailModel { ListToEmail = new List <string> { user.email }, Body = mailBody, EmailSubject = "Thông tin đơn xin nghỉ phép" }; EmailHelper.SendMail(mail); return(RedirectToAction("Employee")); } return(RedirectToAction("CreateNew")); }
public ActionResult CreateUser(UserViewModel user) { //Validate dữ liệu, nếu chưa đúng thì nhập lại if (!ModelState.IsValid) { return(View(user)); } using (NghiphepEntities db = new NghiphepEntities()) { //Nếu id đã tồn tại thì báo lỗi id đã tồn tại var use = db.Users.FirstOrDefault(x => x.C_id == user.C_id); if (use != null) { ModelState.AddModelError("", "ID đã tồn tại"); return(View(user)); } var use1 = db.Users.FirstOrDefault(x => x.username == user.username); if (use1 != null) { //Nếu username đã tồn tại thì báo lỗi username đã tồn tại ModelState.AddModelError("", "Tên đăng nhập đã tồn tại"); return(View(user)); } //Tạo model user từ thông tin đã nhập để them vào database var newUser = new User { C_id = user.C_id, username = user.username, address = user.address, contractId = user.contractId, email = user.email, gender = user.gender, fullName = user.fullName, isActive = true, dayOff = user.dayOff, password = user.password, mobile = user.mobile, titleId = user.titleId, departmentId = user.departmentId, dateOfBirth = user.dateOfBirth, }; try { db.Users.Add(newUser); db.SaveChanges(); } catch (Exception ex) { //Lưu thất bại báo lỗi (khi không kết nối đc database) ModelState.AddModelError("", "Lỗi hệ thống"); return(View(user)); } //Lưu thành công thì chuyển đến tran index return(RedirectToAction("Index")); } }
public ActionResult Profile(string id) { var result = new QueryResult <User>(); NghiphepEntities db = new NghiphepEntities(); // Query your data here. Obey Ordering, paging and filtering parameters given in the context.QueryOptions. // Use Entity Framework, a module from your IoC Container, or any other method. // Return QueryResult object containing IEnumerable<YouModelItem> var query = (from user in db.Users join contract in db.ContractTypes on user.contractId equals contract.C_id where user.C_id == id select new { C_id = user.C_id, username = user.username, dayOff = user.dayOff, contractId = user.contractId, createdAt = user.createdAt, ContractType = contract, fullName = user.fullName, email = user.email, mobile = user.mobile }); var user_result = query.ToList().Select(r => new User { C_id = r.C_id, username = r.username, fullName = r.fullName, dayOff = r.dayOff, createdAt = r.createdAt, contractId = r.ContractType.name, ContractType = r.ContractType, email = r.email, mobile = r.mobile }).ToList()[0]; var contract_query = (from contract in db.ContractTypes select new { C_id = contract.C_id, code = contract.code, name = contract.name, dayOff = contract.dayOff }); var contracts = contract_query.ToList().Select(c => new ContractType { C_id = c.C_id, code = c.code, name = c.name, dayOff = c.dayOff }).ToList(); ViewData["contracts"] = contracts; return(View(user_result)); }
public ActionResult DeleteUser(string id) { NghiphepEntities db = new NghiphepEntities(); var result = db.Users.SingleOrDefault(b => b.C_id == id); if (result != null) { result.isActive = false; db.SaveChanges(); } return(RedirectToAction("Index")); }
public ActionResult CancelDocument(string id) { NghiphepEntities db = new NghiphepEntities(); Document document = queryDocument(); var result = db.Documents.SingleOrDefault(b => b.C_id == id); if (result != null) { result.status = 100; db.SaveChanges(); } return(RedirectToAction("Index")); }
public ActionResult ShowDataBaseForUser(string id) { //var item = db.Users.ToList(); //return View(item); if (id != null) { NghiphepEntities db = new NghiphepEntities(); var query = (from user in db.Users select new { C_id = user.C_id, isActive = user.isActive, titleId = user.titleId, username = user.username, fullName = user.fullName, address = user.address, gender = user.gender, email = user.email, mobile = user.mobile, }); var users = query.ToList().Select(r => new User { C_id = r.C_id, isActive = r.isActive, titleId = r.titleId, username = r.username, fullName = r.fullName, address = r.address, gender = r.gender, email = r.email, mobile = r.mobile, }).ToList(); return(View(users[0])); } else { return(View(new User() { username = "******", Title = new Title() { name = "Default" } })); } }
public ActionResult SaveUser(User user) { NghiphepEntities db = new NghiphepEntities(); var result = db.Users.SingleOrDefault(b => b.username == user.username); if (result != null) { result.username = user.username; result.fullName = user.fullName; result.email = user.email; result.mobile = user.mobile; //result.contractId = user.contractId; result.dayOff = user.dayOff; db.SaveChanges(); } return(RedirectToAction("Edit/" + result.C_id)); }
public ActionResult CancelDocument(string id) { NghiphepEntities db = new NghiphepEntities(); Document document = queryDocument(); var result = db.Documents.SingleOrDefault(b => b.C_id == id); var admin = db.Users.FirstOrDefault(x => x.username == User.Identity.Name); if (result != null) { var verifyAt = (float)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000; result.status = 100; result.verifiedById = admin.C_id; result.verifiedAt = verifyAt; db.SaveChanges(); var start = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(result.startDate) / 1000d)).ToLocalTime().ToString(); var end = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(result.endDate) / 1000d)).ToLocalTime().ToString(); var user = db.Users.SingleOrDefault(b => b.C_id == result.createdById); //Tạo nội dung email, nó là 1 chuỗi dạng html hay string thường đều được string mailBody = "Xin chào: " + user.fullName + "<br><br>" + "Đơn nghỉ phép của bạn không được duyệt" + "<br>" + "- Mã đơn: " + result.C_id + "<br>" + "- Từ ngày: " + start + "<br>" + "- Đến ngày: " + end + "<br>" + "- Lý do: " + result.reason + "<br>" + "Người hủy: " + admin.fullName + "<br>" + "Xin cảm ơn."; //Tạo 1 email theo model bên kia (MailModel) var mail = new MailModel { //Danh sách địa chỉ nhận mail,nếu muốn gửi nhiều email cùng lúc thì thêm dô list này //Ở đây chỉ gửi cho email người tạo đơn ListToEmail = new List <string> { user.email }, //Nội dung email Body = mailBody, //Subject email EmailSubject = "Đơn nghỉ phép không được duyệt" }; //Gọi hàm gửi mail EmailHelper.SendMail(mail); } return(RedirectToAction("Manager")); }
public ActionResult VerifyDocument(string id) { NghiphepEntities db = new NghiphepEntities(); Document document = queryDocument(); var result = db.Documents.SingleOrDefault(b => b.C_id == id); var admin = db.Users.FirstOrDefault(x => x.username == User.Identity.Name); if (result != null) { var verifyAt = (float)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000; result.status = 99; result.verifiedById = admin.C_id; result.verifiedAt = verifyAt; db.SaveChanges(); } var user = db.Users.SingleOrDefault(b => b.C_id == result.createdById); if (user != null) { user.dayOff = user.dayOff - (int)((result.endDate - result.startDate) / 1000 / 3600 / 24); db.SaveChanges(); } var start = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(result.startDate) / 1000d)).ToLocalTime().ToString(); var end = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(result.endDate) / 1000d)).ToLocalTime().ToString(); //Gửi mail khi người quản lý approve đơn nghỉ phép (tương tự như hàm dưới CancelDocument) string mailBody = "Xin chào: " + user.fullName + "<br>" + "Đơn nghỉ phép của bạn đã được duyệt" + "<br><br>" + "- Mã đơn: " + result.C_id + "<br>" + "- Từ ngày: " + start + "<br>" + "- Đến ngày: " + end + "<br>" + "- Lý do: " + result.reason + "<br>" + "Người duyệt: " + admin.fullName + "<br>" + "Xin cảm ơn."; var mail = new MailModel { ListToEmail = new List <string> { user.email }, Body = mailBody, EmailSubject = "Đơn nghỉ phép được duyệt" }; EmailHelper.SendMail(mail); return(RedirectToAction("Manager")); }
public ActionResult CheckLogin(LoginModel model) { System.Diagnostics.Debug.WriteLine("UserName ", model.UserName); System.Diagnostics.Debug.WriteLine("Password ", model.Password); NghiphepEntities db = new NghiphepEntities(); var query = (from user in db.Users join title in db.Titles on user.titleId equals title.C_id where user.username == model.UserName && user.password == model.Password && user.isActive == true select new { C_id = user.C_id, title = title, username = user.username }); var users = query.ToList().Select(r => new User { C_id = r.C_id, Title = r.title, username = r.username }).ToList(); if (users.Count > 0) { //Sửa lại hàm login, trong asp.net dùng cái này để login //Lưu session login FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); var identity = new GenericIdentity(model.UserName); var principal = new GenericPrincipal(identity, new string[0]); HttpContext.User = principal; Thread.CurrentPrincipal = principal; // If we got this far, something failed, redisplay form if (users[0].Title.code == "GIAMDOC") { return(RedirectToAction("Manager/" + users[0].C_id, "DonNghiPhep")); } else { return(RedirectToAction("Employee/" + users[0].C_id, "DonNghiPhep")); } } else { return(RedirectToAction("Login")); } }
public ActionResult VerifyDocument(string id) { NghiphepEntities db = new NghiphepEntities(); Document document = queryDocument(); var result = db.Documents.SingleOrDefault(b => b.C_id == id); if (result != null) { result.status = 99; db.SaveChanges(); } var user = db.Users.SingleOrDefault(b => b.C_id == result.createdById); if (user != null) { user.dayOff = user.dayOff - (int)((result.endDate - result.startDate) / 1000 / 3600 / 24); db.SaveChanges(); } return(RedirectToAction("Index")); }
public ActionResult Index() { ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; //Lấy dữ liệu đơn nghỉ phép để hiển thị ra dashbord using (NghiphepEntities db = new NghiphepEntities()) { var result = from u in db.Users join d in db.Documents on u.C_id equals d.createdById select new { DocumentId = d.C_id, CreateBy = u.fullName, StartDate = d.startDate, EndDate = d.endDate, Status = d.status, Reason = d.reason, ApproveOrRejectBy = d.verifiedById, ApproveOrRejectDate = d.verifiedAt, DayOff = u.dayOff }; var listData = new List <DashboardViewModel>(); foreach (var item in result) { var r = new DashboardViewModel { DocumentId = item.DocumentId, CreateBy = item.CreateBy, StartDate = item.StartDate.HasValue ? convertDoubleToDatetime(item.StartDate.Value) : "", EndDate = item.StartDate.HasValue ? convertDoubleToDatetime(item.EndDate.Value) : "", Reason = item.Reason, Status = item.Status == 0 ? "Chờ duyệt" : item.Status == 99 ? "Đã duyệt" : "Đã hủy", ApproveOrRejectBy = item.ApproveOrRejectBy, ApproveOrRejectDate = item.ApproveOrRejectDate.HasValue ? convertDoubleToDatetime(item.ApproveOrRejectDate.Value) : "", DayOff = item.DayOff.HasValue ? item.DayOff.Value : 0 }; listData.Add(r); } return(View(listData)); } }
public ActionResult CreateLeaveForm(TaoDonNghiPhep dnp) { System.Diagnostics.Debug.WriteLine("CreateLeaveForm CreateLeaveForm CreateLeaveForm ", dnp.reason); if (ModelState.IsValid) { NghiphepEntities db = new NghiphepEntities(); Document document = queryDocument(); string code = CreateAutoCode(document != null ? document.code : null); db.Documents.Add(new Document() { C_id = code, code = code, status = 0, createdAt = (float)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000, startDate = (float)(DateTime.ParseExact(dnp.dateStart, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000, endDate = (float)(DateTime.ParseExact(dnp.dateEnd, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000, createdById = "USER_002", reason = dnp.reason }); //try //{ db.SaveChanges(); //} //catch (DbEntityValidationException e) //{ // foreach (var eve in e.EntityValidationErrors) // { // System.Diagnostics.Debug.WriteLine(eve.Entry.Entity.GetType().Name, eve.Entry.State); // foreach (var ve in eve.ValidationErrors) // { // System.Diagnostics.Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"", // ve.PropertyName, ve.ErrorMessage); // } // } //} //write code to update student return(RedirectToAction("Employee")); } return(RedirectToAction("CreateNew")); }
public ActionResult Register() { NghiphepEntities db = new NghiphepEntities(); var contract_query = (from contract in db.ContractTypes select new { C_id = contract.C_id, code = contract.code, name = contract.name, dayOff = contract.dayOff }); var contracts = contract_query.ToList().Select(c => new ContractType { C_id = c.C_id, code = c.code, name = c.name, dayOff = c.dayOff }).ToList(); ViewData["contracts"] = contracts; return(View()); }
public ActionResult CheckLogin(LoginModel model) { System.Diagnostics.Debug.WriteLine("UserName ", model.UserName); System.Diagnostics.Debug.WriteLine("Password ", model.Password); NghiphepEntities db = new NghiphepEntities(); var query = (from user in db.Users join title in db.Titles on user.titleId equals title.C_id where user.username == model.UserName && user.password == model.Password && user.isActive == true select new { C_id = user.C_id, title = title, username = user.username }); var users = query.ToList().Select(r => new User { C_id = r.C_id, Title = r.title, username = r.username }).ToList(); if (users.Count > 0) { // If we got this far, something failed, redisplay form if (users[0].Title.code == "GIAMDOC") { return(RedirectToAction("Manager/" + users[0].C_id, "DonNghiPhep")); } else { return(RedirectToAction("Employee/" + users[0].C_id, "DonNghiPhep")); } } else { return(RedirectToAction("Login")); } }
public ActionResult Register(User model) { NghiphepEntities db = new NghiphepEntities(); User tbl = new User(); tbl.C_id = model.C_id; tbl.fullName = model.fullName; tbl.gender = model.gender; //tbl.dateOfBirth = (float)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000; tbl.dateOfBirth = model.dateOfBirth; tbl.address = model.address; tbl.email = model.email; tbl.mobile = model.mobile; tbl.username = model.username; tbl.password = model.password; tbl.isActive = false; db.Users.Add(tbl); db.SaveChanges(); return(View()); }
public ActionResult CreateLeaveForm(TaoDonNghiPhep dnp) { System.Diagnostics.Debug.WriteLine("CreateLeaveForm CreateLeaveForm CreateLeaveForm"); if (ModelState.IsValid) { NghiphepEntities db = new NghiphepEntities(); Document document = queryDocument(); string code = CreateAutoCode(document.code); db.Documents.Add(new Document() { C_id = code, code = code, status = 0, createdAt = (float)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000, startDate = (float)(DateTime.ParseExact(dnp.dateStart, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000, endDate = (float)(DateTime.ParseExact(dnp.dateEnd, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture).Subtract(new DateTime(1970, 1, 1))).TotalSeconds * 1000, createdById = "USER_002" }); db.SaveChanges(); //write code to update student return(RedirectToAction("Index")); } return(RedirectToAction("CreateNew")); }
public static void RegisterGrids() { MVCGridDefinitionTable.Add("WaitingDocumentGrid", new MVCGridBuilder <Document>() .WithAuthorizationType(AuthorizationType.AllowAnonymous) .WithSorting(sorting: true, defaultSortColumn: "Id", defaultSortDirection: SortDirection.Dsc) //.WithPaging(true, 5) .WithAdditionalQueryOptionNames("search") .AddColumns(cols => { // Add your columns here cols.Add("code").WithColumnName("code") .WithHeaderText("Mã đơn") .WithValueExpression(i => i.code); // use the Value Expression to return the cell text for this column cols.Add("status").WithColumnName("status") .WithHeaderText("Trạng thái") .WithValueExpression((i, c) => { if (i.status == 0) { return("Chờ duyệt"); } else if (i.status == 99) { return("Đã duyệt"); } return("Đã hủy"); }); cols.Add("createdAt").WithColumnName("createdAt") .WithHeaderText("Thời gian tạo") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.createdAt) / 1000d)).ToLocalTime().ToString()); }); cols.Add("createdBy").WithColumnName("createdBy") .WithHeaderText("Người tạo") .WithValueExpression(i => i.createdBy.username); cols.Add("startDate").WithColumnName("startDate") .WithHeaderText("Ngày bắt dầu") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.startDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("endDate").WithColumnName("endDate") .WithHeaderText("Ngày kết thúc") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.endDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("count").WithColumnName("count") .WithHeaderText("Số ngày nghỉ") .WithValueExpression((i, c) => { int count = (int)((i.endDate - i.startDate) / 1000 / 3600 / 24); if (count == 0) { return("1 ngày"); } else { return(count.ToString() + " ngày"); } }); cols.Add("VerifyBtn").WithSorting(false) .WithHeaderText("") .WithHtmlEncoding(false) .WithValueExpression((p, c) => c.UrlHelper.Action("VerifyDocument", "DonNghiPhep", new { id = p.C_id })) .WithValueTemplate("<a href='{Value}' class='btn btn-primary btn-verify' role='button' data-form-method='post'>Duyệt</a>"); cols.Add("CancelBtn").WithSorting(false) .WithHeaderText("") .WithHtmlEncoding(false) .WithValueExpression((p, c) => c.UrlHelper.Action("CancelDocument", "DonNghiPhep", new { id = p.C_id })) .WithValueTemplate("<a href='{Value}' class='btn btn-danger btn-cancel'>Hủy</a>"); cols.Add("DetailBtn").WithSorting(false) .WithHeaderText("") .WithHtmlEncoding(false) .WithValueExpression((p, c) => c.UrlHelper.Action("ViewDocument", "DonNghiPhep", new { id = p.C_id })) .WithValueTemplate("<a href='{Value}' class='btn btn-primary'>Chi tiết</a>"); }) .WithRetrieveDataMethod((context) => { var result = new QueryResult <Document>(); NghiphepEntities db = new NghiphepEntities(); // Query your data here. Obey Ordering, paging and filtering parameters given in the context.QueryOptions. // Use Entity Framework, a module from your IoC Container, or any other method. // Return QueryResult object containing IEnumerable<YouModelItem> var options = context.QueryOptions; var query = (from doc in db.Documents join user in db.Users on doc.createdById equals user.C_id where doc.status == 0 select new { C_id = doc.C_id, createdBy = user, code = doc.code, status = doc.status, createdAt = doc.createdAt, startDate = doc.startDate, endDate = doc.endDate }); System.Diagnostics.Debug.WriteLine(options.GetLimitOffset().HasValue); var documents = query.ToList().Select(r => new Document { C_id = r.C_id, createdBy = r.createdBy, code = r.code, status = r.status, createdAt = r.createdAt, startDate = r.startDate, endDate = r.endDate }).ToList(); //System.Diagnostics.Debug.WriteLine(options.GetLimitRowcount().Value); int count = 0; //if (options.GetLimitOffset().HasValue) //{ // documents = documents.Skip(options.GetLimitOffset().Value).Take(options.GetLimitRowcount().Value).ToList(); //} count = documents.Count; return(new QueryResult <Document>() { Items = documents, TotalRecords = count // if paging is enabled, return the total number of records of all pages }); }) ); MVCGridDefinitionTable.Add("WaitingDocumentGridEm", new MVCGridBuilder <Document>() .WithAuthorizationType(AuthorizationType.AllowAnonymous) .WithSorting(sorting: true, defaultSortColumn: "Id", defaultSortDirection: SortDirection.Dsc) //.WithPaging(true, 5) .WithAdditionalQueryOptionNames("search") .AddColumns(cols => { // Add your columns here cols.Add("code").WithColumnName("code") .WithHeaderText("Mã đơn") .WithValueExpression(i => i.code); // use the Value Expression to return the cell text for this column cols.Add("status").WithColumnName("status") .WithHeaderText("Trạng thái") .WithValueExpression((i, c) => { if (i.status == 0) { return("Chờ duyệt"); } else if (i.status == 99) { return("Đã duyệt"); } return("Đã hủy"); }); cols.Add("createdAt").WithColumnName("createdAt") .WithHeaderText("Thời gian tạo") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.createdAt) / 1000d)).ToLocalTime().ToString()); }); cols.Add("createdBy").WithColumnName("createdBy") .WithHeaderText("Người tạo") .WithValueExpression(i => i.createdBy.username); cols.Add("startDate").WithColumnName("startDate") .WithHeaderText("Ngày bắt dầu") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.startDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("endDate").WithColumnName("endDate") .WithHeaderText("Ngày kết thúc") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.endDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("count").WithColumnName("count") .WithHeaderText("Số ngày nghỉ") .WithValueExpression((i, c) => { int count = (int)((i.endDate - i.startDate) / 1000 / 3600 / 24); if (count == 0) { return("1 ngày"); } else { return(count.ToString() + " ngày"); } }); cols.Add("DetailBtn").WithSorting(false) .WithHeaderText("") .WithHtmlEncoding(false) .WithValueExpression((p, c) => c.UrlHelper.Action("ViewDocument", "DonNghiPhep", new { id = p.C_id })) .WithValueTemplate("<a href='{Value}' class='btn btn-primary'>Chi tiết</a>"); }) .WithRetrieveDataMethod((context) => { var result = new QueryResult <Document>(); NghiphepEntities db = new NghiphepEntities(); // Query your data here. Obey Ordering, paging and filtering parameters given in the context.QueryOptions. // Use Entity Framework, a module from your IoC Container, or any other method. // Return QueryResult object containing IEnumerable<YouModelItem> var options = context.QueryOptions; var query = (from doc in db.Documents join user in db.Users on doc.createdById equals user.C_id where doc.status == 0 select new { C_id = doc.C_id, createdBy = user, code = doc.code, status = doc.status, createdAt = doc.createdAt, startDate = doc.startDate, endDate = doc.endDate }); System.Diagnostics.Debug.WriteLine(options.GetLimitOffset().HasValue); var documents = query.ToList().Select(r => new Document { C_id = r.C_id, createdBy = r.createdBy, code = r.code, status = r.status, createdAt = r.createdAt, startDate = r.startDate, endDate = r.endDate }).ToList(); //System.Diagnostics.Debug.WriteLine(options.GetLimitRowcount().Value); int count = 0; //if (options.GetLimitOffset().HasValue) //{ // documents = documents.Skip(options.GetLimitOffset().Value).Take(options.GetLimitRowcount().Value).ToList(); //} count = documents.Count; return(new QueryResult <Document>() { Items = documents, TotalRecords = count // if paging is enabled, return the total number of records of all pages }); }) ); MVCGridDefinitionTable.Add("VerifyDocumentGrid", new MVCGridBuilder <Document>() .WithAuthorizationType(AuthorizationType.AllowAnonymous) .WithSorting(sorting: true, defaultSortColumn: "Id", defaultSortDirection: SortDirection.Dsc) //.WithPaging(true, 5) .WithAdditionalQueryOptionNames("search") .AddColumns(cols => { // Add your columns here cols.Add("code").WithColumnName("code") .WithHeaderText("Mã đơn") .WithValueExpression(i => i.code); // use the Value Expression to return the cell text for this column cols.Add("status").WithColumnName("status") .WithHeaderText("Trạng thái") .WithValueExpression((i, c) => { if (i.status == 0) { return("Chờ duyệt"); } else if (i.status == 99) { return("Đã duyệt"); } return("Đã hủy"); }); cols.Add("createdAt").WithColumnName("createdAt") .WithHeaderText("Thời gian tạo") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.createdAt) / 1000d)).ToLocalTime().ToString()); }); cols.Add("createdBy").WithColumnName("createdBy") .WithHeaderText("Người tạo") .WithValueExpression(i => i.createdBy.username); cols.Add("startDate").WithColumnName("startDate") .WithHeaderText("Ngày bắt dầu") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.startDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("endDate").WithColumnName("endDate") .WithHeaderText("Ngày kết thúc") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.endDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("count").WithColumnName("count") .WithHeaderText("Số ngày nghỉ") .WithValueExpression((i, c) => { int count = (int)((i.endDate - i.startDate) / 1000 / 3600 / 24); if (count == 0) { return("1 ngày"); } else { return(count.ToString() + " ngày"); } }); }) .WithRetrieveDataMethod((context) => { var result = new QueryResult <Document>(); NghiphepEntities db = new NghiphepEntities(); // Query your data here. Obey Ordering, paging and filtering parameters given in the context.QueryOptions. // Use Entity Framework, a module from your IoC Container, or any other method. // Return QueryResult object containing IEnumerable<YouModelItem> var options = context.QueryOptions; var query = (from doc in db.Documents join user in db.Users on doc.createdById equals user.C_id where doc.status == 99 select new { C_id = doc.C_id, createdBy = user, code = doc.code, status = doc.status, createdAt = doc.createdAt, startDate = doc.startDate, endDate = doc.endDate }); System.Diagnostics.Debug.WriteLine(options.GetLimitOffset().HasValue); var documents = query.ToList().Select(r => new Document { C_id = r.C_id, createdBy = r.createdBy, code = r.code, status = r.status, createdAt = r.createdAt, startDate = r.startDate, endDate = r.endDate }).ToList(); //System.Diagnostics.Debug.WriteLine(options.GetLimitRowcount().Value); int count = 0; if (options.GetLimitOffset().HasValue) { documents = documents.Skip(options.GetLimitOffset().Value).Take(options.GetLimitRowcount().Value).ToList(); } count = documents.Count; return(new QueryResult <Document>() { Items = documents, TotalRecords = count // if paging is enabled, return the total number of records of all pages }); }) ); MVCGridDefinitionTable.Add("VerifyDocumentGridEm", new MVCGridBuilder <Document>() .WithAuthorizationType(AuthorizationType.AllowAnonymous) .WithSorting(sorting: true, defaultSortColumn: "Id", defaultSortDirection: SortDirection.Dsc) //.WithPaging(true, 5) .WithAdditionalQueryOptionNames("search") .AddColumns(cols => { // Add your columns here cols.Add("code").WithColumnName("code") .WithHeaderText("Mã đơn") .WithValueExpression(i => i.code); // use the Value Expression to return the cell text for this column cols.Add("status").WithColumnName("status") .WithHeaderText("Trạng thái") .WithValueExpression((i, c) => { if (i.status == 0) { return("Chờ duyệt"); } else if (i.status == 99) { return("Đã duyệt"); } return("Đã hủy"); }); cols.Add("createdAt").WithColumnName("createdAt") .WithHeaderText("Thời gian tạo") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.createdAt) / 1000d)).ToLocalTime().ToString()); }); cols.Add("createdBy").WithColumnName("createdBy") .WithHeaderText("Người tạo") .WithValueExpression(i => i.createdBy.username); cols.Add("startDate").WithColumnName("startDate") .WithHeaderText("Ngày bắt dầu") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.startDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("endDate").WithColumnName("endDate") .WithHeaderText("Ngày kết thúc") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.endDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("count").WithColumnName("count") .WithHeaderText("Số ngày nghỉ") .WithValueExpression((i, c) => { int count = (int)((i.endDate - i.startDate) / 1000 / 3600 / 24); if (count == 0) { return("1 ngày"); } else { return(count.ToString() + " ngày"); } }); cols.Add("DetailBtn").WithSorting(false) .WithHeaderText("") .WithHtmlEncoding(false) .WithValueExpression((p, c) => c.UrlHelper.Action("ViewDocument", "DonNghiPhep", new { id = p.C_id })) .WithValueTemplate("<a href='{Value}' class='btn btn-primary'>Chi tiết</a>"); }) .WithRetrieveDataMethod((context) => { var result = new QueryResult <Document>(); NghiphepEntities db = new NghiphepEntities(); // Query your data here. Obey Ordering, paging and filtering parameters given in the context.QueryOptions. // Use Entity Framework, a module from your IoC Container, or any other method. // Return QueryResult object containing IEnumerable<YouModelItem> var options = context.QueryOptions; var query = (from doc in db.Documents join user in db.Users on doc.createdById equals user.C_id where doc.status == 99 select new { C_id = doc.C_id, createdBy = user, code = doc.code, status = doc.status, createdAt = doc.createdAt, startDate = doc.startDate, endDate = doc.endDate }); System.Diagnostics.Debug.WriteLine(options.GetLimitOffset().HasValue); var documents = query.ToList().Select(r => new Document { C_id = r.C_id, createdBy = r.createdBy, code = r.code, status = r.status, createdAt = r.createdAt, startDate = r.startDate, endDate = r.endDate }).ToList(); //System.Diagnostics.Debug.WriteLine(options.GetLimitRowcount().Value); int count = 0; if (options.GetLimitOffset().HasValue) { documents = documents.Skip(options.GetLimitOffset().Value).Take(options.GetLimitRowcount().Value).ToList(); } count = documents.Count; return(new QueryResult <Document>() { Items = documents, TotalRecords = count // if paging is enabled, return the total number of records of all pages }); }) ); MVCGridDefinitionTable.Add("CancelDocumentGrid", new MVCGridBuilder <Document>() .WithAuthorizationType(AuthorizationType.AllowAnonymous) .WithSorting(sorting: true, defaultSortColumn: "Id", defaultSortDirection: SortDirection.Dsc) //.WithPaging(true, 5) .WithAdditionalQueryOptionNames("search") .AddColumns(cols => { // Add your columns here cols.Add("code").WithColumnName("code") .WithHeaderText("Mã đơn") .WithValueExpression(i => i.code); // use the Value Expression to return the cell text for this column cols.Add("status").WithColumnName("status") .WithHeaderText("Trạng thái") .WithValueExpression((i, c) => { if (i.status == 0) { return("Chờ duyệt"); } else if (i.status == 99) { return("Đã duyệt"); } return("Đã hủy"); }); cols.Add("createdAt").WithColumnName("createdAt") .WithHeaderText("Thời gian tạo") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.createdAt) / 1000d)).ToLocalTime().ToString()); }); cols.Add("createdBy").WithColumnName("createdBy") .WithHeaderText("Người tạo") .WithValueExpression(i => i.createdBy.username); cols.Add("startDate").WithColumnName("startDate") .WithHeaderText("Ngày bắt dầu") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.startDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("endDate").WithColumnName("endDate") .WithHeaderText("Ngày kết thúc") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.endDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("count").WithColumnName("count") .WithHeaderText("Số ngày nghỉ") .WithValueExpression((i, c) => { int count = (int)((i.endDate - i.startDate) / 1000 / 3600 / 24); if (count == 0) { return("1 ngày"); } else { return(count.ToString() + " ngày"); } }); cols.Add("DetailBtn").WithSorting(false) .WithHeaderText("") .WithHtmlEncoding(false) .WithValueExpression((p, c) => c.UrlHelper.Action("ViewDocument", "DonNghiPhep", new { id = p.C_id })) .WithValueTemplate("<a href='{Value}' class='btn btn-primary'>Chi tiết</a>"); }) .WithRetrieveDataMethod((context) => { var result = new QueryResult <Document>(); NghiphepEntities db = new NghiphepEntities(); // Query your data here. Obey Ordering, paging and filtering parameters given in the context.QueryOptions. // Use Entity Framework, a module from your IoC Container, or any other method. // Return QueryResult object containing IEnumerable<YouModelItem> var options = context.QueryOptions; var query = (from doc in db.Documents join user in db.Users on doc.createdById equals user.C_id where doc.status == 100 select new { C_id = doc.C_id, createdBy = user, code = doc.code, status = doc.status, createdAt = doc.createdAt, startDate = doc.startDate, endDate = doc.endDate }); System.Diagnostics.Debug.WriteLine(options.GetLimitOffset().HasValue); var documents = query.ToList().Select(r => new Document { C_id = r.C_id, createdBy = r.createdBy, code = r.code, status = r.status, createdAt = r.createdAt, startDate = r.startDate, endDate = r.endDate }).ToList(); //System.Diagnostics.Debug.WriteLine(options.GetLimitRowcount().Value); int count = 0; if (options.GetLimitOffset().HasValue) { documents = documents.Skip(options.GetLimitOffset().Value).Take(options.GetLimitRowcount().Value).ToList(); } count = documents.Count; return(new QueryResult <Document>() { Items = documents, TotalRecords = count // if paging is enabled, return the total number of records of all pages }); }) ); MVCGridDefinitionTable.Add("CancelDocumentGridEm", new MVCGridBuilder <Document>() .WithAuthorizationType(AuthorizationType.AllowAnonymous) .WithSorting(sorting: true, defaultSortColumn: "Id", defaultSortDirection: SortDirection.Dsc) //.WithPaging(true, 5) .WithAdditionalQueryOptionNames("search") .AddColumns(cols => { // Add your columns here cols.Add("code").WithColumnName("code") .WithHeaderText("Mã đơn") .WithValueExpression(i => i.code); // use the Value Expression to return the cell text for this column cols.Add("status").WithColumnName("status") .WithHeaderText("Trạng thái") .WithValueExpression((i, c) => { if (i.status == 0) { return("Chờ duyệt"); } else if (i.status == 99) { return("Đã duyệt"); } return("Đã hủy"); }); cols.Add("createdAt").WithColumnName("createdAt") .WithHeaderText("Thời gian tạo") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.createdAt) / 1000d)).ToLocalTime().ToString()); }); cols.Add("createdBy").WithColumnName("createdBy") .WithHeaderText("Người tạo") .WithValueExpression(i => i.createdBy.username); cols.Add("startDate").WithColumnName("startDate") .WithHeaderText("Ngày bắt dầu") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.startDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("endDate").WithColumnName("endDate") .WithHeaderText("Ngày kết thúc") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.endDate) / 1000d)).ToLocalTime().ToString()); }); cols.Add("count").WithColumnName("count") .WithHeaderText("Số ngày nghỉ") .WithValueExpression((i, c) => { int count = (int)((i.endDate - i.startDate) / 1000 / 3600 / 24); if (count == 0) { return("1 ngày"); } else { return(count.ToString() + " ngày"); } }); cols.Add("DetailBtn").WithSorting(false) .WithHeaderText("") .WithHtmlEncoding(false) .WithValueExpression((p, c) => c.UrlHelper.Action("ViewDocument", "DonNghiPhep", new { id = p.C_id })) .WithValueTemplate("<a href='{Value}' class='btn btn-primary'>Chi tiết</a>"); }) .WithRetrieveDataMethod((context) => { var result = new QueryResult <Document>(); NghiphepEntities db = new NghiphepEntities(); // Query your data here. Obey Ordering, paging and filtering parameters given in the context.QueryOptions. // Use Entity Framework, a module from your IoC Container, or any other method. // Return QueryResult object containing IEnumerable<YouModelItem> var options = context.QueryOptions; var query = (from doc in db.Documents join user in db.Users on doc.createdById equals user.C_id where doc.status == 100 select new { C_id = doc.C_id, createdBy = user, code = doc.code, status = doc.status, createdAt = doc.createdAt, startDate = doc.startDate, endDate = doc.endDate }); System.Diagnostics.Debug.WriteLine(options.GetLimitOffset().HasValue); var documents = query.ToList().Select(r => new Document { C_id = r.C_id, createdBy = r.createdBy, code = r.code, status = r.status, createdAt = r.createdAt, startDate = r.startDate, endDate = r.endDate }).ToList(); //System.Diagnostics.Debug.WriteLine(options.GetLimitRowcount().Value); int count = 0; if (options.GetLimitOffset().HasValue) { documents = documents.Skip(options.GetLimitOffset().Value).Take(options.GetLimitRowcount().Value).ToList(); } count = documents.Count; return(new QueryResult <Document>() { Items = documents, TotalRecords = count // if paging is enabled, return the total number of records of all pages }); }) ); MVCGridDefinitionTable.Add("UserGrid", new MVCGridBuilder <User>() .WithAuthorizationType(AuthorizationType.AllowAnonymous) .WithSorting(sorting: true, defaultSortColumn: "Id", defaultSortDirection: SortDirection.Dsc) //.WithPaging(true, 5) .WithAdditionalQueryOptionNames("search") .AddColumns(cols => { // Add your columns here cols.Add("username").WithColumnName("username") .WithHeaderText("Mã nhân viên") .WithValueExpression(i => i.username); // use the Value Expression to return the cell text for this column cols.Add("ContractType").WithColumnName("ContractType") .WithHeaderText("Ngày phép") .WithValueExpression((i, c) => { return(i.ContractType.dayOff.ToString()); }); cols.Add("dateOff").WithColumnName("dateOff") .WithHeaderText("Ngày phép còn lại") .WithValueExpression((i, c) => { return(i.dayOff.ToString()); }); cols.Add("createdAt").WithColumnName("createdAt") .WithHeaderText("Thời gian tạo") .WithValueExpression((i, c) => { return(new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Math.Round(System.Convert.ToDouble(i.createdAt) / 1000d)).ToLocalTime().ToString()); }); cols.Add("ContractType").WithColumnName("ContractTypeName") .WithHeaderText("Hợp đồng") .WithValueExpression((i, c) => { return(i.ContractType.name); }); cols.Add("VerifyBtn").WithSorting(false) .WithHeaderText("") .WithHtmlEncoding(false) .WithValueExpression((p, c) => c.UrlHelper.Action("Edit", "NguoiDung", new { id = p.C_id })) .WithValueTemplate("<a href='{Value}' class='btn btn-primary' role='button' data-form-method='post'>Sửa</a>"); cols.Add("CancelBtn").WithSorting(false) .WithHeaderText("") .WithHtmlEncoding(false) .WithValueExpression((p, c) => c.UrlHelper.Action("DeleteUser", "NguoiDung", new { id = p.C_id })) .WithValueTemplate("<a href='{Value}' class='btn btn-danger'>Xóa</a>"); }) .WithRetrieveDataMethod((context) => { var result = new QueryResult <User>(); NghiphepEntities db = new NghiphepEntities(); // Query your data here. Obey Ordering, paging and filtering parameters given in the context.QueryOptions. // Use Entity Framework, a module from your IoC Container, or any other method. // Return QueryResult object containing IEnumerable<YouModelItem> var options = context.QueryOptions; var query = (from user in db.Users join contract in db.ContractTypes on user.contractId equals contract.C_id where user.isActive == true select new { C_id = user.C_id, username = user.username, dayOff = user.dayOff, createdAt = user.createdAt, ContractType = contract }); System.Diagnostics.Debug.WriteLine(options.GetLimitOffset().HasValue); var users = query.ToList().Select(r => new User { C_id = r.C_id, username = r.username, dayOff = r.dayOff, createdAt = r.createdAt, ContractType = r.ContractType }).ToList(); //System.Diagnostics.Debug.WriteLine(options.GetLimitRowcount().Value); int count = 0; //if (options.GetLimitOffset().HasValue) //{ // documents = documents.Skip(options.GetLimitOffset().Value).Take(options.GetLimitRowcount().Value).ToList(); //} System.Diagnostics.Debug.WriteLine(users.Count); count = users.Count; return(new QueryResult <User>() { Items = users, TotalRecords = count // if paging is enabled, return the total number of records of all pages }); }) ); }