public IEnumerable <UserContentToBeFeaturedViewModel> GetContentToBeFeatured() { IEnumerable <UserContent> finalList = userContentDomainService.GetAll(); IEnumerable <FeaturedContent> featured = featuredContentDomainService.GetAll(); IEnumerable <UserContentToBeFeaturedViewModel> vms = mapper.Map <IEnumerable <UserContent>, IEnumerable <UserContentToBeFeaturedViewModel> >(finalList); foreach (UserContentToBeFeaturedViewModel item in vms) { FeaturedContent featuredNow = featured.FirstOrDefault(x => x.UserContentId == item.Id && x.StartDate.Date <= DateTime.Today && (!x.EndDate.HasValue || (x.EndDate.HasValue && x.EndDate.Value.Date > DateTime.Today))); if (featuredNow != null) { item.CurrentFeatureId = featuredNow.Id; } item.IsFeatured = item.CurrentFeatureId.HasValue; item.AuthorName = string.IsNullOrWhiteSpace(item.AuthorName) ? Constants.UnknownSoul : item.AuthorName; item.TitleCompliant = !string.IsNullOrWhiteSpace(item.Title) && item.Title.Length <= 25; item.IntroCompliant = !string.IsNullOrWhiteSpace(item.Introduction) && item.Introduction.Length <= 55; item.ContentCompliant = !string.IsNullOrWhiteSpace(item.Content) && item.Content.Length >= 800; item.IsArticle = !string.IsNullOrWhiteSpace(item.Title) && !string.IsNullOrWhiteSpace(item.Introduction); } vms = vms.OrderByDescending(x => x.IsFeatured).ToList(); return(vms); }
public OperationResultVo <Guid> Add(Guid userId, Guid contentId, string title, string introduction) { try { FeaturedContent newFeaturedContent = new FeaturedContent { UserContentId = contentId }; UserContent content = userContentDomainService.GetById(contentId); newFeaturedContent.Title = string.IsNullOrWhiteSpace(title) ? content.Title : title; newFeaturedContent.Introduction = string.IsNullOrWhiteSpace(introduction) ? content.Introduction : introduction; newFeaturedContent.ImageUrl = string.IsNullOrWhiteSpace(content.FeaturedImage) || content.FeaturedImage.Equals(Constants.DefaultFeaturedImage) ? Constants.DefaultFeaturedImage : UrlFormatter.Image(content.UserId, ImageType.FeaturedImage, content.FeaturedImage); newFeaturedContent.FeaturedImage = content.FeaturedImage; newFeaturedContent.StartDate = DateTime.Now; newFeaturedContent.Active = true; newFeaturedContent.UserId = userId; newFeaturedContent.OriginalUserId = content.UserId; featuredContentDomainService.Add(newFeaturedContent); unitOfWork.Commit(); return(new OperationResultVo <Guid>(newFeaturedContent.Id)); } catch (Exception ex) { return(new OperationResultVo <Guid>(ex.Message)); } }
public OperationResultVo <FeaturedContentViewModel> GetById(Guid currentUserId, Guid id) { try { FeaturedContent model = featuredContentDomainService.GetById(id); FeaturedContentViewModel vm = mapper.Map <FeaturedContentViewModel>(model); return(new OperationResultVo <FeaturedContentViewModel>(vm)); } catch (Exception ex) { return(new OperationResultVo <FeaturedContentViewModel>(ex.Message)); } }
public OperationResultVo <Guid> Save(Guid currentUserId, FeaturedContentViewModel viewModel) { try { FeaturedContent model; FeaturedContent existing = featuredContentDomainService.GetById(viewModel.Id); if (existing != null) { model = mapper.Map(viewModel, existing); } else { model = mapper.Map <FeaturedContent>(viewModel); } if (viewModel.Id == Guid.Empty) { featuredContentDomainService.Add(model); viewModel.Id = model.Id; } else { featuredContentDomainService.Update(model); } unitOfWork.Commit(); return(new OperationResultVo <Guid>(model.Id)); } catch (Exception ex) { return(new OperationResultVo <Guid>(ex.Message)); } }
public OperationResultVo Unfeature(Guid id) { try { FeaturedContent existing = featuredContentDomainService.GetById(id); if (existing != null) { existing.EndDate = DateTime.Now; existing.Active = false; featuredContentDomainService.Update(existing); unitOfWork.Commit(); } return(new OperationResultVo(true)); } catch (Exception ex) { return(new OperationResultVo(ex.Message)); } }