public ViewModelNewsItem GetNewsItem(int clientId, int newsId) { var raw = _newsRepository.FindBy(o => !o.IsDeleted && o.NewsId == newsId && o.ClientId == clientId); var viewModelNewsItem = new ViewModelNewsItem(); viewModelNewsItem.InjectFrom <CloneInjection>(raw); return(viewModelNewsItem); }
public IEnumerable <ViewModelNewsItem> GetAvailableNewsItems(int clientId) { var raw = _newsRepository.FilterBy(o => !o.IsDeleted && o.ClientId == clientId).ToList(); var converted = raw.Select(item => { var viewModelNewsItem = new ViewModelNewsItem(); viewModelNewsItem.InjectFrom <CloneInjection>(item); return(viewModelNewsItem); }).ToList(); return(converted); }
public ValidationDictionary <ViewModelNewsItem> SaveNewsItem(int clientId, ViewModelNewsItem viewModelNews) { var validator = new ValidationDictionary <ViewModelNewsItem>(); if (viewModelNews == null) { validator.IsValid = false; validator.AddError("", "The News you're trying to save is null"); return(validator); } // rule based here viewModelNews.DateExpired = viewModelNews.DateExpired.DatePart(); viewModelNews.DatePublished = viewModelNews.DatePublished.DatePart(); NewsItem newsItem; if (viewModelNews.NewsId <= 0) { newsItem = new NewsItem(); newsItem.InjectFrom <CloneInjection>(viewModelNews); newsItem.DateCreated = DateTime.UtcNow; newsItem.DateLastUpdated = DateTime.UtcNow; newsItem.ClientId = clientId; _newsRepository.Add(newsItem); } else { newsItem = _newsRepository.FindBy(o => !o.IsDeleted && o.NewsId == viewModelNews.NewsId && o.ClientId == clientId); if (newsItem != null) { var createdDate = newsItem.DateCreated; newsItem.InjectFrom <CloneInjection>(viewModelNews); newsItem.DateLastUpdated = DateTime.UtcNow; newsItem.DateCreated = createdDate; newsItem.IsDeleted = false; _newsRepository.Update(newsItem); } } // update news url UpdateNewsUrl(newsItem.NewsId); var pingedNews = GetNewsItem(clientId, newsItem.NewsId); validator.IsValid = true; validator.RelatedObject = pingedNews; return(validator); }
public IEnumerable <ViewModelNewsItem> GetRecentNews(int clientId) { var raw = GetPublishedNewsItem(clientId); raw = raw.OrderByDescending(o => o.DateCreated).Take(5).ToList(); var converted = raw.Select(item => { var viewModelNewsItem = new ViewModelNewsItem(); viewModelNewsItem.InjectFrom <CloneInjection>(item); return(viewModelNewsItem); }).ToList(); return(converted); }
public IEnumerable <ViewModelNewsItem> GetPublishedNewsItem(int clientId) { var raw = _newsRepository.FilterBy(o => !o.IsDeleted && DateTime.UtcNow >= o.DatePublished && DateTime.UtcNow <= o.DateExpired && o.ClientId == clientId).ToList(); var converted = raw.Select(item => { var viewModelNewsItem = new ViewModelNewsItem(); viewModelNewsItem.InjectFrom <CloneInjection>(item); return(viewModelNewsItem); }).ToList(); return(converted); }
public Response <DtoBuncisNews> BPInsertNews(int clientId, DtoBuncisNews news) { var service = IoC.Resolve <INewsService>(); var viewModel = new ViewModelNewsItem().InjectFrom <CloneInjection>(news) as ViewModelNewsItem; var result = service.SaveNewsItem(clientId, viewModel); var response = new Response <DtoBuncisNews>(); response.IsSuccess = result.IsValid; response.Message = result.ValidationSummaryToString(); if (response.IsSuccess) { var responseObject = new DtoBuncisNews().InjectFrom <CloneInjection>(result.RelatedObject) as DtoBuncisNews; response.ResponseObject = responseObject; } return(response); }