コード例 #1
0
 /// <inheritdoc/>
 public void Clear()
 {
     NewModels.Clear();
     ChangedModels.Clear();
     DeletedModels.Clear();
     ModelsToAutoAlign.Clear();
 }
コード例 #2
0
 public Author GetAddAuthor(string name)
 {
     try
     {
         if (string.IsNullOrEmpty(name))
         {
             return(null);
         }
         using (var db = new NewModels())
         {
             var author = db.Authors.FirstOrDefault(p => p.Name.Trim().ToLower() == name.Trim().ToLower());
             if (author != null)
             {
                 return(author);
             }
             //If outhor not found in db then create
             var newAuthor = new Author
             {
                 Name = name
             };
             db.Authors.Add(newAuthor);
             db.SaveChanges();
             return(newAuthor);
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error on author check-" + ex.Message);
         return(null);
     }
 }
コード例 #3
0
ファイル: DbSet.cs プロジェクト: adderall333/sem_internet
 public void Remove(IModel model)
 {
     modelsList.Remove(model);
     if (NewModels.Contains(model))
     {
         NewModels.Remove(model);
     }
     RemovedModels.Add(model);
 }
コード例 #4
0
 public Magazine GetMagazine(string title)
 {
     try
     {
         using (var db = new NewModels())
         {
             return(db.Magazines.FirstOrDefault(p => p.Title == title));
         }
     }
     catch (Exception)
     {
         return(null);
     }
 }
コード例 #5
0
        public int AddMagazine(string title, int categId)
        {
            try
            {
                //Split title
                var splittedTitle = title.Split('/');
                if (splittedTitle == null || splittedTitle.Count() < 2)
                {
                    Console.WriteLine(categId + ": Title splitting problem.");
                    return(0);
                }
                var tempPublisYear = 0;
                if (!int.TryParse(splittedTitle[0], out tempPublisYear))
                {
                    Console.WriteLine(categId + ": Error parsing publish year");
                    return(0);
                }
                //Check if magaine is alredy exists.
                if (GetMagazine(title) != null)
                {
                    Console.WriteLine(categId + ": Magaine alredy exist.");
                    return(0);
                }

                using (var db = new NewModels())
                {
                    //Crea new model
                    var magazine = new Magazine
                    {
                        Title          = title,
                        Slug           = GenerateSlug(title),
                        PublishYear    = tempPublisYear,
                        PublishSection = splittedTitle[1],
                        DateCreated    = DateTime.Now,
                        CategoryId     = 7
                    };
                    //WriteMagazine(magazine);
                    db.Magazines.Add(magazine);
                    db.SaveChanges();
                    return(magazine.Id);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(categId + ": " + ex.Message);
                return(0);
            }
        }
コード例 #6
0
ファイル: DbSet.cs プロジェクト: adderall333/sem_internet
        public void Clear()
        {
            foreach (var model in modelsList)
            {
                if (NewModels.Contains(model))
                {
                    NewModels.Remove(model);
                }
                else
                {
                    RemovedModels.Add(model);
                }
            }

            modelsList.Clear();
        }
コード例 #7
0
 public Article AddArticle(int magaId, string title, string authorName, string content, string slug, List <KeyValuePair <string, string> > mediaElements)
 {
     try
     {
         //Create model
         using (var db = new NewModels())
         {
             //Check author
             var author  = GetAddAuthor(authorName);
             var article = new Article()
             {
                 Title       = title,
                 Content     = content,
                 Slug        = slug,
                 MagazineId  = magaId,
                 DateCreated = DateTime.Now
             };
             if (author != null)
             {
                 article.AuthorId = author.Id;
             }
             db.Articles.Add(article);
             db.SaveChanges();
             if (mediaElements != null && mediaElements.Count() > 0)
             {
                 foreach (var media in mediaElements)
                 {
                     db.MediaElements.Add(new MediaElement
                     {
                         ArticleId    = article.Id,
                         MagazineId   = magaId,
                         Description  = media.Value,
                         OriginalName = media.Key,
                         Type         = 1,
                     });
                 }
                 db.SaveChanges();
             }
             return(article);
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(magaId + " - Error on article add: " + ex.Message);
         return(null);
     }
 }
コード例 #8
0
 public void ReplaceBr()
 {
     try
     {
         using (var db = new NewModels())
         {
             var          pages = 555;
             var          items = 0;
             HtmlDocument doc   = new HtmlDocument();
             for (int i = 0; i < pages; i++)
             {
                 var articles = db.Articles.Where(p => string.IsNullOrEmpty(p.OldContent)).OrderBy(p => p.Id).Skip(i * 10).Take(10).ToList();
                 foreach (var article in articles)
                 {
                     article.OldContent = article.Content;
                     article.Content    = article.Content.Replace("<br />", Environment.NewLine);
                     doc.LoadHtml(article.Content);
                     var found1 = doc.DocumentNode.Descendants("span").Where(d => d.Attributes.Contains("class") && Constants.AuthorSearchIn.Contains(d.Attributes["class"].Value));
                     //Check in span
                     if (found1.Count() != 0)
                     {
                         found1.FirstOrDefault().Remove();
                     }
                     found1 = doc.DocumentNode.Descendants("p").Where(d => d.Attributes.Contains("class") && Constants.AuthorSearchIn.Contains(d.Attributes["class"].Value));
                     //Check in paragraph too
                     if (found1.Count() != 0)
                     {
                         found1.FirstOrDefault().Remove();
                     }
                     article.Content = doc.DocumentNode.InnerText;
                     items++;
                 }
                 db.SaveChanges();
                 Console.Clear();
                 Console.WriteLine((items * 100) / 5544);
             }
             Console.WriteLine("end");
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
コード例 #9
0
            /// <inheritdoc/>
            public void AggregateFrom(IEnumerable <IChangeset> changesets)
            {
                Clear();

                foreach (var changeset in changesets.OfType <Changeset>())
                {
                    NewModels.AddRangeInternal(changeset.NewModels);
                    ChangedModels.AddRangeInternal(changeset.ChangedModels);
                    DeletedModels.AddRangeInternal(changeset.DeletedModels);
                    ModelsToAutoAlign.AddRangeInternal(changeset.ModelsToAutoAlign);
                }

                NewModels.RemoveWhere(m => DeletedModels.Contains(m));

                ChangedModels.RemoveWhere(m => NewModels.Contains(m));
                ChangedModels.RemoveWhere(m => DeletedModels.Contains(m));

                ModelsToAutoAlign.RemoveWhere(m => DeletedModels.Contains(m));
            }
コード例 #10
0
ファイル: DbSet.cs プロジェクト: adderall333/sem_internet
 public void Add(IModel model)
 {
     modelsList.Add(model);
     NewModels.Add(model);
 }