예제 #1
0
        public AnnouncementResponseViewModel GetAnnouncement(AnnouncementRequestViewModel request)
        {
            var response = new AnnouncementResponseViewModel();

            #region validation

            if (request == null)
            {
                response.Announcements = null;
                return(response);
            }

            #endregion

            var anouncements = China.CatalogProvider.GetChinaAnnouncementInfo(request.From, request.To,
                                                                              request.Locale);
            if (anouncements == null)
            {
                return(response);
            }

            response.Announcements = new List <AnnouncementViewModel>();

            foreach (var model in from AnnouncementInfo_V01 announcement in anouncements
                     where announcement != null
                     select new AnnouncementViewModel
            {
                Id = announcement.Id,
                Title = announcement.Title,
                Content = HTMLHelper.ToText(announcement.AnnouncementDesc.Replace("<br />", "\n")),
                CreatedDate = announcement.CreatedDate,
                LastUpdatedDate = announcement.UpdatedDate,
                BeginDate = announcement.BeginDate,
                EndDate = announcement.EndDate,
                IsMarkedAsNew = (announcement.IsUseNew != null && announcement.IsUseNew.HasValue && announcement.IsUseNew.Value == 1)
            })
            {
                response.Announcements.Add(model);
            }

            return(response);
        }
예제 #2
0
        public MobileResponseWrapper Get([FromUri] AnnouncementRequestViewModel request)
        {
            if (request == null)
            {
                throw CreateException(HttpStatusCode.BadRequest, "request is null", 500404);
            }
            string obj = JsonConvert.SerializeObject(request);

            request.Locale = Thread.CurrentThread.CurrentCulture.Name;

            var response = new MobileResponseWrapper
            {
                Data = _IMobileAnnouncementProvider.GetAnnouncement(request)
            };
            JObject json = JObject.Parse(obj);

            MobileActivityLogProvider.ActivityLog(json, response, string.Empty, true,
                                                  this.Request.RequestUri.ToString(),
                                                  this.Request.Headers.ToString(),
                                                  this.Request.Headers.UserAgent.ToString(),
                                                  request.Locale);

            return(response);
        }