public void Publish(Article article) { article.PostedDate = DateTime.Now; article.Disciplines = disciplineStorage.Get( article.Disciplines.Select(x => x.Id)).ToList(); articleStorage.Add(article); }
public static ArticleViewModel Map(Article article) { ArticleViewModel viewModel = new ArticleViewModel(); viewModel.Id = article.Id; viewModel.Title = article.Title; return viewModel; }
public void Publish(Article article) { article.Authors.Add(GetCurrentUser()); PublicationService.Publish(article); NotificationService.NotifyAboutNewArticle(article); }
public void NotifyAboutNewArticle(Article article) { throw new NotSupportedException(); }
private void Resolve(Article article) { article.Authors = article.Authors.Select( a => Entities.Users.Single(x => x.Email.Equals(a.Email))).ToList(); }
public void Add(Article article) { Resolve(article); // TODO: try avoid resolving Add(article, Entities.Articles); }
private void CreateArticle(string articleFile, StreamWriter writer) { string articleInfo = File.ReadAllText(articleFile, Encoding.GetEncoding(1251)); var article = new Article(); article.Title = GetInfoField(articleInfo, "title"); writer.WriteLine("Title: {0}", article.Title); article.Text = GetInfoField(articleInfo, "description"); article.Source = GetInfoField(articleInfo, "source"); var authors = GetInfoField(articleInfo, "users").Split(','); article.Authors = new List<User>(); foreach (var author in authors) { article.Authors.Add(new User { Email = author.TrimEnd('\r') }); } var disciplineIds = GetDisciplines(GetInfoField(articleInfo, "disciplines").Split(',')); article.Disciplines = new List<Discipline>(); foreach (var disciplineId in disciplineIds) { article.Disciplines.Add(new Discipline() { Id = disciplineId }); } using (var dataContext = new EfDataContext()) { var publicationService = new PublicationService(dataContext); publicationService.Publish(article); var notificationService = new NotificationService(dataContext); notificationService.NotifyAboutNewArticle(article); } AddComments(article, articleInfo); }