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;
 }
Beispiel #3
0
 public void Publish(Article article)
 {
     article.Authors.Add(GetCurrentUser());
     PublicationService.Publish(article);
     NotificationService.NotifyAboutNewArticle(article);
 }
Beispiel #4
0
 public void NotifyAboutNewArticle(Article article)
 {
     throw new NotSupportedException();
 }
Beispiel #5
0
 private void Resolve(Article article)
 {
     article.Authors = article.Authors.Select(
         a => Entities.Users.Single(x => x.Email.Equals(a.Email))).ToList();
 }
Beispiel #6
0
 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);
 }