public ActionResult LatestReadyForComments(int? id, PhotoApprovalViewModel model) { try { using (var db = new MySelfieEntities()) { if (model.IsNull()) model = new PhotoApprovalViewModel(); if (id.HasValue) model.LastPhotoTweetId = id.Value; if (model.FetchLatestAmount.IsLessThanOne()) model.FetchLatestAmount = 10; if (model.FetchLatestSpeedInSeconds.IsLessThanOne()) model.FetchLatestSpeedInSeconds = 5; var query = db.Photos .Where(x => x.HasPhoto == true) .Where(x => x.Status == "packed") //.Where(x => x.Source == "Twitter") .Where(x => x.PhotoId > model.LastPhotoTweetId); if (model.WallId > 0) query = query.Where(x => x.WallId == model.WallId); model.ImageList = query .OrderBy(x => x.CreatedAt) .Take(model.FetchLatestAmount) .Select(x => new PhotoViewModel { FileName = x.Filename, PhotoId = x.PhotoId, Text = x.Text, SocialId = x.SocialID, SocialCreated = x.SocialCreatedAt, UserScreenName = x.Username, Source = x.Source }) .ToList(); if (model.ImageList.Any()) { model.LastPhotoTweetId = model.ImageList.Select(x => x.PhotoId).Last(); } else { if (id.HasValue) { model.LastPhotoTweetId = id.Value; } } var photosLeft = db.Photos .Where(x => x.HasPhoto == true) .Where(x => x.Status == "packed") .Where(x => x.Source == "Twitter") .Where(x => x.WallId == model.WallId) .Count(); var message = "Got more images for comments." + Environment.NewLine + "WallID: " + model.WallId + Environment.NewLine + "New photos left: " + photosLeft + Environment.NewLine; //Logger.Log(message, "update", User.Identity.Name, "/Photo/Latest"); return View(model); } } catch (Exception ex) { ModelState.AddModelError("ex", ex); Logger.Log(ex.ToString(), "error", User.Identity.Name, "/Photo/LatestForComments"); return View(new PhotoApprovalViewModel()); } }
public ActionResult CommentApproval(int? id) { var model = new PhotoApprovalViewModel(); if (id.HasValue) model.WallId = id.Value; model.FetchLatestAmount = 10; model.FetchLatestSpeedInSeconds = 4; try { using (var db = new MySelfieEntities()) { var wall = db.Walls .Where(x => x.WallId == model.WallId) .SingleOrDefault(); if (wall.IsNotNull()) { //model.FetchLatestAmount = wall. //model.FetchLatestSpeedInSeconds = } var query = db.Photos .Where(x => x.HasPhoto == true) .Where(x => x.Status == "packed"); if (id.HasValue) query = query.Where(x => x.WallId == id.Value); var results = query .OrderBy(x => x.CreatedAt) .Select(x => new PhotoViewModel { FileName = x.Filename, PhotoId = x.PhotoId, Text = x.Text, SocialId = x.SocialID, SocialCreated = x.SocialCreatedAt, UserScreenName = x.Username, Source = x.Source }) .Take(model.FetchLatestAmount) .ToList(); var photosLeft = db.Photos .Where(x => x.HasPhoto == true) .Where(x => x.Status == "packed") .Where(x => x.WallId == model.WallId) .Count(); var message = "Starting CommentApproval page." + Environment.NewLine + "WallID: " + model.WallId + Environment.NewLine + "New photos left: " + photosLeft + Environment.NewLine + "FetchLatestAmount: " + model.FetchLatestAmount + Environment.NewLine + "FetchLatestSpeedInSeconds: " + model.FetchLatestSpeedInSeconds + Environment.NewLine; Logger.Log(message, "update", User.Identity.Name, "/Photo/Latest"); if (results.Any()) { model.ImageList = results; model.LastPhotoTweetId = results.Select(x => x.PhotoId).Last(); return View(model); } else { model.ImageList = results; model.LastPhotoTweetId = 0; return View(model); } } } catch (Exception ex) { ModelState.AddModelError("ex", ex); Logger.Log(ex.ToString(), "error", User.Identity.Name, "/Admin/Photo/CommentApproval"); } return View(); }