public ActionResult _DisplayEmailAudits(DisplayEmailAuditViewModel Model) { try { Model = _emailService.GetDisplayEmailAuditViewModel(Model.Pattern, Model.StartAt, Model.PageSize); } catch (Exception e) { Commons.Logger.GenerateError(e, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "Model.Pattern = " + Model.Pattern); return(Content("ERROR")); } return(PartialView(Model)); }
public DisplayEmailAuditViewModel GetDisplayEmailAuditViewModel(string Pattern, int StartAt, int PageSize) { DisplayEmailAuditViewModel model = new DisplayEmailAuditViewModel(); try { model.Pattern = Pattern; model.PageSize = PageSize; model.StartAt = StartAt; if (Pattern == null) { Pattern = ""; } Pattern = Pattern.ToLower().Trim(); var EmailAudits = new List <EmailAudit>(); if (String.IsNullOrWhiteSpace(Pattern) && StartAt >= 0 && PageSize >= 0) { var FullEmailAuditsList = _emailAuditRepo.List().ToList(); model.Count = FullEmailAuditsList.Count; EmailAudits = FullEmailAuditsList.Skip(StartAt).Take(PageSize).OrderByDescending(e => e.Id).ToList(); } else { EmailAudits = _emailAuditRepo.List().ToList(); } foreach (var audit in EmailAudits) { EMailAuditItem emailAuditItem = new EMailAuditItem(); emailAuditItem.Id = audit.Id; emailAuditItem.UserId = audit.UserId; emailAuditItem.NewsId = audit.ScheduledTask?.NewsId; emailAuditItem.ScheduledTaskId = audit.ScheduledTaskId; emailAuditItem.LanguageId = audit.EmailTypeLanguage.LanguageId; emailAuditItem.LanguageName = audit.EmailTypeLanguage.Language.Name; emailAuditItem.EMailTypeId = audit.EmailTypeLanguage.EMailTypeId; emailAuditItem.EMailTypeLanguageId = audit.EMailTypeLanguageId; emailAuditItem.Date = audit.Date.ToLocalTime(); emailAuditItem.UserFirstNameDecrypt = audit.User?.FirstName; emailAuditItem.UserLastNameDecrypt = audit.User?.LastName; emailAuditItem.EMailFromDecrypt = audit.EMailFrom; emailAuditItem.EMailToDecrypt = audit.EMailTo; emailAuditItem.CCUsersNumber = audit.CCUsersNumber; emailAuditItem.AttachmentNumber = audit.AttachmentNumber ?? 0; emailAuditItem.NewsTitle = audit.ScheduledTask?.News?.Title; emailAuditItem.Comment = audit.Comment; emailAuditItem.EMailTypeName = audit.EmailTypeLanguage?.EmailType?.Name; model.AuditsList.Add(emailAuditItem); } if (!String.IsNullOrWhiteSpace(Pattern) && StartAt >= 0 && PageSize >= 0) { IEnumerable <EMailAuditItem> resultIEnumerable = model.AuditsList as IEnumerable <EMailAuditItem>; resultIEnumerable = resultIEnumerable.Where(a => (a.Comment != null && a.Comment.ToLower().Contains(Pattern)) || (a.EMailTypeName != null && a.EMailTypeName.ToLower().Contains(Pattern)) || (a.NewsTitle != null && a.NewsTitle.ToLower().Contains(Pattern)) || (a.UserFirstNameDecrypt != null && a.UserFirstNameDecrypt.ToLower().Contains(Pattern)) || a.Id.ToString().Contains(Pattern) || a.EMailTypeName.Contains(Pattern) || (a.EMailToDecrypt != null && a.EMailToDecrypt.ToLower().Contains(Pattern)) || (a.EMailFromDecrypt != null && a.EMailFromDecrypt.ToLower().Contains(Pattern)) || (a.UserLastNameDecrypt != null && a.UserLastNameDecrypt.ToLower().Contains(Pattern))); model.Count = resultIEnumerable.ToList().Count; model.AuditsList = resultIEnumerable.Skip(StartAt).Take(PageSize).OrderByDescending(a => a.Id).ToList(); } } catch (Exception e) { Commons.Logger.GenerateError(e, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "Pattern = " + Pattern); } return(model); }