public async Task <HttpResponseMessage> GetTopNews(int userID) { try { NewsDAL dal = new NewsDAL(); TopNewsInfo data = await dal.GetTopNews(userID); if (data != null) { return(Request.CreateResponse <TopNewsInfo>(HttpStatusCode.OK, data)); } else { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, Constants.ErrorNotFound)); } } catch (DbEntityValidationException ex) { var controllerName = ControllerContext.RouteData.Values["controller"].ToString(); var actionName = ControllerContext.RouteData.Values["action"].ToString(); Logger log = new Logger(); log.ErrorLog(ex, controllerName, actionName); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Constants.ErrorSysError)); } }
public Task <TopNewsInfo> GetTopNews(int userID) { return(Task.Run(() => { using (MIUEntities db = new MIUEntities()) { News data = db.News.Where(x => x.IsDeleted != true && x.IsDraft != true).OrderByDescending(a => a.PublishDate).OrderByDescending(a => a.CreatedDatetime).Take(1).FirstOrDefault(); TopNewsInfo info = new TopNewsInfo() { NewsId = data.Id, Title = data.Title, CreatedDatetime = data.CreatedDatetime, PhotoPath = MIUFileServer.GetFileUrl("News/CoverPhoto", data.CoverPhotoPath), TextContent = db.NewsContents.Where(a => a.NewsId == data.Id && a.TextContent != null).Take(1).Select(a => a.TextContent).SingleOrDefault() }; return info; } })); }