Exemplo n.º 1
0
        public HttpResponseMessage QueuedEmailList(HttpRequestMessage request, QueuedEmailListVM model, int pageIndex = 0, int pageSize = int.MaxValue)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = request.CreateErrorResponse(HttpStatusCode.NotFound, "No items found");
                if (true)
                {
                    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, false, model.SearchMaxSentTries, true, pageIndex, pageSize);
                    var gridModel = new DataSourceResult
                    {
                        Data = queuedEmails.Select(x => {
                            var m = x.ToModel();
                            m.PriorityName = x.Priority.GetLocalizedEnum(_localizationService, _baseService.WorkContext);
                            m.CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc);
                            if (x.DontSendBeforeDateUtc.HasValue)
                            {
                                m.DontSendBeforeDate = _dateTimeHelper.ConvertToUserTime(x.DontSendBeforeDateUtc.Value, DateTimeKind.Utc);
                            }
                            if (x.SentOnUtc.HasValue)
                            {
                                m.SentOn = _dateTimeHelper.ConvertToUserTime(x.SentOnUtc.Value, DateTimeKind.Utc);
                            }

                            //little performance optimization: ensure that "Body" is not returned
                            m.Body = "";

                            return m;
                        }),
                        Total = queuedEmails.TotalCount
                    };

                    response = request.CreateResponse <DataSourceResult>(HttpStatusCode.OK, gridModel);
                }
                else
                {
                    response = request.CreateResponse(HttpStatusCode.Unauthorized, "Unauthorized user");
                }
                return response;
            }));
        }
Exemplo n.º 2
0
        public HttpResponseMessage QueuedEmailSearchModel(HttpRequestMessage request)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = request.CreateErrorResponse(HttpStatusCode.NotFound, "No items found");
                if (true)
                {
                    var model = new QueuedEmailListVM
                    {
                        //default value
                        SearchMaxSentTries = 10
                    };

                    response = request.CreateResponse <QueuedEmailListVM>(HttpStatusCode.OK, model);
                }
                else
                {
                    response = request.CreateResponse(HttpStatusCode.Unauthorized, "Unauthorized user");
                }
                return response;
            }));
        }