public ActionResult QueuedEmailList(DataTablesParam dataTableParam, QueuedEmailListModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageMessageQueue)) { return(AccessDeniedView()); } DateTime?startDateValue = (model.SearchStartDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.SearchStartDate.Value, _dateTimeHelper.CurrentTimeZone); DateTime?endDateValue = (model.SearchEndDate == null) ? null :(DateTime?)_dateTimeHelper.ConvertToUtcTime(model.SearchEndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); //var queuedEmails = _queuedEmailService.SearchEmails(model.SearchFromEmail, model.SearchToEmail, // startDateValue, endDateValue, // model.SearchLoadNotSent, model.SearchMaxSentTries, true, // dataTableParam.PageIndex, dataTableParam.PageSize); var q = new SearchEmailsQuery { EndTime = endDateValue, From = model.SearchFromEmail, MaxSendTries = model.SearchMaxSentTries, OrderByLatest = true, PageIndex = dataTableParam.PageIndex, PageSize = dataTableParam.PageSize, SendManually = model.SearchSendManually, StartTime = startDateValue, To = model.SearchToEmail, UnsentOnly = model.SearchLoadNotSent }; var queuedEmails = _queuedEmailService.SearchEmails(q); var total = queuedEmails.Count(); var result = new DataTablesData { iTotalRecords = total, sEcho = dataTableParam.sEcho, iTotalDisplayRecords = total, aaData = queuedEmails.Select(x => { var m = x.ToModel(); m.CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc); if (x.SentOnUtc.HasValue) { m.SentOn = _dateTimeHelper.ConvertToUserTime(x.SentOnUtc.Value, DateTimeKind.Utc); } return(m); }).Cast <object>().ToArray(), }; return(new JsonResult { Data = result }); }
public ActionResult QueuedEmailList(GridCommand command, QueuedEmailListModel model) { var gridModel = new GridModel <QueuedEmailModel>(); if (_permissionService.Authorize(StandardPermissionProvider.ManageMessageQueue)) { DateTime?startDateValue = (model.SearchStartDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.SearchStartDate.Value, _dateTimeHelper.CurrentTimeZone); DateTime?endDateValue = (model.SearchEndDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.SearchEndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); var q = new SearchEmailsQuery { EndTime = endDateValue, From = model.SearchFromEmail, MaxSendTries = model.SearchMaxSentTries, OrderByLatest = true, PageIndex = command.Page - 1, PageSize = command.PageSize, SendManually = model.SearchSendManually, StartTime = startDateValue, To = model.SearchToEmail, UnsentOnly = model.SearchLoadNotSent }; var queuedEmails = _queuedEmailService.SearchEmails(q); gridModel.Data = queuedEmails.Select(x => { var m = x.ToModel(); m.CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc); if (x.SentOnUtc.HasValue) { m.SentOn = _dateTimeHelper.ConvertToUserTime(x.SentOnUtc.Value, DateTimeKind.Utc); } return(m); }); gridModel.Total = queuedEmails.TotalCount; } else { gridModel.Data = Enumerable.Empty <QueuedEmailModel>(); NotifyAccessDenied(); } return(new JsonResult { Data = gridModel }); }