public ActionResult Find(PasswordFindViewModel model) { //LoggerFactory.CreateLog().Debug(string.Format(CultureInfo.InvariantCulture, "Presentation Layer - FindPassword Controller Begin")); //int totalCount = 0; try { // Add find logic here if (ModelState.IsValid) { if (model.OrderBy == null) { model.OrderBy = "Id"; } string sort = "Id"; var filtros = GenerateExpression(model); var pagedResult = _servicePassword.FindPagedByFilter(filtros, null, 1, model.PageSize, model.OrderBy, "Asc", null, null); model.Paginate(pagedResult, ""); //var PasswordDetails = _serviceAlim.Query( // new PasswordQuery().Withfilter(filtros)) // .OrderBy(n => n.OrderBy("Id", "Asc")) // .SelectPage(1, model.PageSize, out totalCount); //var pagelist = new { total = totalCount, rows = PasswordDetails.ToList() }; //var pagedResult = _servicePassword.FindPagedByFilter(expression, includes, 1, model.PageSize, "Id", model.OrderBy, model.Ascendent, null, null); //model.Paginate(pagedResult, expression.SerializedExpression); TempData.Clear(); TempData.Add("FilterPassword", model); //LoggerFactory.CreateLog().Debug(string.Format(CultureInfo.InvariantCulture, "Presentation Layer - FindPassword Controller End")); return(PartialView("_PasswordFindPartialView", model)); } } catch (Exception ex) { //LoggerFactory.CreateLog().Error(string.Format(CultureInfo.InvariantCulture, "Presentation Layer - FindPassword Controller ERROR"), ex); } ModelState.AddModelError("", PresentationResources.Error); return(View("PasswordFindView", new PasswordFindViewModel(_servicePassword, _serviceUserPasswords))); }
// GET public ActionResult Find(int?page = 1, string sort = "Id", string sortDir = "ASC") { //LoggerFactory.CreateLog().Debug(string.Format(CultureInfo.InvariantCulture, "Presentation Layer - FindPassword Controller Begin")); try { // Add find logic here PasswordFindViewModel model; if (Request.IsAjaxRequest() && TempData.ContainsKey("FilterPassword")) { model = (PasswordFindViewModel)TempData.Peek("FilterPassword"); var filtros = GenerateExpression(model); var pagedResult = _servicePassword.FindPagedByFilter(filtros, null, page != null ? (int)page : model.PageIndex, model.PageSize, sort, sortDir, null, null); model.Paginate(pagedResult, ""); //var pagedResult = _servicePassword.FindPagedByFilter(new CustomQuery<Password> { SerializedExpression = model.Filter }, null, page != null ? (int)page : model.PageIndex, model.PageSize, sort, sortDir == "ASC", null); //model.Paginate(pagedResult, model.Filter); //LoggerFactory.CreateLog().Debug(string.Format(CultureInfo.InvariantCulture, "Presentation Layer - FindPagedPassword Controller End")); return(PartialView("_PasswordFindPartialView", model)); } else { TempData.Remove("FilterPassword"); model = new PasswordFindViewModel(_servicePassword, _serviceUserPasswords); //LoggerFactory.CreateLog().Debug(string.Format(CultureInfo.InvariantCulture, "Presentation Layer - FindPassword Controller End")); return(View("PasswordFindView", model)); } } catch (Exception ex) { //LoggerFactory.CreateLog().Error(string.Format(CultureInfo.InvariantCulture, "Presentation Layer - FindPassword Controller ERROR"), ex); } return(RedirectToAction("Index", "Home")); }
//private static QueryObject<Password> GenerateExpression(PasswordFindViewModel model) private static IEnumerable <filterRule> GenerateExpression(PasswordFindViewModel model) { //LoggerFactory.CreateLog().Debug(string.Format(CultureInfo.InvariantCulture, "Presentation Layer - FindAlim Controller Begin")); //var filters = JsonConvert.DeserializeObject<IEnumerable<filterRule>>(filterRules); //return Json(pagelist, JsonRequestBehavior.AllowGet); IList <filterRule> filtros = new List <filterRule>(); if (model != null) { if (model.Password.Id.HasValue) { filtros.Add(new filterRule() { op = "equal", field = "Id", value = model.Password.Id.Value.ToString() }); } //And(d => d.Id == model.Password.Id.Value); if (!string.IsNullOrEmpty(model.Password.Password1)) { filtros.Add(new filterRule() { op = "equal", field = "Password1", value = model.Password.Password1 }); } //And(d => d.Password1.Contains(model.Password.Password1)); if (!string.IsNullOrEmpty(model.Password.PasswordHash)) { filtros.Add(new filterRule() { op = "equal", field = "PasswordHash", value = model.Password.PasswordHash }); } //And(d => d.PasswordHash.Contains(model.Password.PasswordHash)); if (!string.IsNullOrEmpty(model.Password.PasswordSalt)) { filtros.Add(new filterRule() { op = "equal", field = "PasswordSalt", value = model.Password.PasswordSalt }); } //And(d => d.PasswordSalt.Contains(model.Password.PasswordSalt)); if (!string.IsNullOrEmpty(model.Password.PasswordAnswer)) { filtros.Add(new filterRule() { op = "equal", field = "PasswordAnswer", value = model.Password.PasswordAnswer }); } //And(d => d.PasswordAnswer.Contains(model.Password.PasswordAnswer)); if (!string.IsNullOrEmpty(model.Password.PasswordQuestion)) { filtros.Add(new filterRule() { op = "equal", field = "PasswordQuestion", value = model.Password.PasswordQuestion }); } //And(d => d.PasswordQuestion.Contains(model.Password.PasswordQuestion)); if (model.Password.Activo.HasValue) { filtros.Add(new filterRule() { op = "equal", field = "Activo", value = model.Password.Activo.Value.ToString() }); } //And(d => d.Activo == model.Password.Activo.Value); if (!string.IsNullOrEmpty(model.Password.CreatedByUserID)) { filtros.Add(new filterRule() { op = "equal", field = "CreatedByUserID", value = model.Password.CreatedByUserID }); } //And(d => d.CreatedByUserID.Contains(model.Password.CreatedByUserID)); if (model.Password.FechaCreacion.HasValue) { filtros.Add(new filterRule() { op = "equal", field = "FechaCreacion", value = model.Password.FechaCreacion.Value.ToString() }); } //And(d => d.FechaCreacion == model.Password.FechaCreacion.Value); } return(filtros); //return new QueryObject<Password>(expression ?? (d => true)); }