Beispiel #1
0
        public List <TEntity> GetList(Expression <Func <TEntity, bool> > filter = null, List <string> includes = null)
        {
            try
            {
                using (var context = new TIOREMEntities())
                {
                    IQueryable <TEntity> query = context.Set <TEntity>();
                    if (includes != null)
                    {
                        foreach (var include in includes)
                        {
                            query = query.Include(include);
                        }
                    }



                    if (filter == null)
                    {
                        return(query.ToList());
                    }
                    else
                    {
                        return(query.Where(filter).ToList());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ArgumentException(filter.ToString(), aymkMethodType.GetList, ex);
            }
        }
Beispiel #2
0
 public TEntity Delete(TEntity entity)
 {
     try
     {
         using (var context = new TIOREMEntities())
         {
             var entityDB = context.Entry(entity);
             entityDB.State = EntityState.Deleted;
             context.SaveChanges();
             return(entity);
         }
     }
     catch (Exception ex)
     {
         throw new ArgumentException(entity.ToString(), aymkMethodType.Delete, ex);
     }
 }
Beispiel #3
0
        public TEntity Get(Expression <Func <TEntity, bool> > filter = null, List <string> includes = null, bool isNullControl = false)
        {
            try
            {
                using (var context = new TIOREMEntities())
                {
                    IQueryable <TEntity> query = context.Set <TEntity>();

                    if (includes != null)
                    {
                        foreach (var include in includes)
                        {
                            query = query.Include(include);
                        }
                    }

                    var data = query.SingleOrDefault(filter);

                    if (isNullControl)
                    {
                        if (data == null)
                        {
                            throw new ArgumentException(filter.ToString(), aymkMethodType.NotFound);
                        }
                        else
                        {
                            return(data);
                        }
                    }
                    else
                    {
                        return(data);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ArgumentException(filter.ToString(), aymkMethodType.Get, ex);
            }
        }
Beispiel #4
0
        void execute()
        {
            if (thread != null)
            {
                if (!isThreadRunning)
                {
                    isThreadRunning   = true;
                    pictureBox1.Image = Resources.if_recycle_1054994;
                    lblStatus.Text    = "Running...";
                    string   xmlContent;
                    DateTime now        = DateTime.Now;
                    DateTime prevMinute = now.AddMinutes(-60);

                    lblLastRun.Text = now.ToString("dd.MM.yyyy HH:mm:ss");
                    lblNextRun.Text = now.AddMilliseconds(myTimer.Interval).ToString("dd.MM.yyyy HH:mm:ss");
                    logFileCreate(now);

                    using (TIOREMEntities context = new TIOREMEntities())
                    {
                        try
                        {
                            List <CatalogueSource> sources = context.CatalogueSource.Where(p => p.Active).ToList();
                            List <long>            latestLocalArticlesId = context.Article.Select(p => p.Id).ToList();

                            using (var wc = new WebClient())
                            {
                                wc.Encoding = Encoding.UTF8;
                                var xmlDoc = new XmlDocument();


                                foreach (var source in sources)
                                {
                                    try
                                    {
                                        xmlContent = wc.DownloadString(string.Format(urlPattern, source.Id));
                                        xmlDoc.LoadXml(xmlContent);
                                        Xml           response   = null;
                                        XmlSerializer serializer = new XmlSerializer(typeof(Xml));
                                        using (XmlReader reader = new XmlNodeReader(xmlDoc))
                                        {
                                            try
                                            {
                                                response = (Xml)serializer.Deserialize(reader);


                                                List <Database.Article> newArticles = new List <Database.Article>();
                                                Database.Article        newArticle  = null;

                                                foreach (var item in response.Articles.Article)
                                                {
                                                    if (item.ArticleId.HasValue)
                                                    {
                                                        DateTime pubDate = Convert.ToDateTime(item.ArticlePubDate);
                                                        if (latestLocalArticlesId.IndexOf(item.ArticleId.Value) == -1)
                                                        {
                                                            try
                                                            {
                                                                newArticle              = new Database.Article();
                                                                newArticle.Active       = true;
                                                                newArticle.Approved     = false;
                                                                newArticle.Body         = item.ArticleBody;
                                                                newArticle.DetailedDate = item.ArticleDetailedDate;
                                                                newArticle.Id           = item.ArticleId.Value;
                                                                newArticle.ImageUrl     = item.ArticleImageUrl;
                                                                newArticle.InsertedAt   = now;
                                                                newArticle.PubDate      = pubDate;
                                                                newArticle.SharingTitle = item.ArticleSharingTitle;
                                                                newArticle.SourceId     = source.Id;
                                                                newArticle.SourceUrl    = item.SourceImageUrl;
                                                                newArticle.ArticleUrl   = item.ArticleUrl;
                                                                newArticle.Title        = item.ArticleTitle;
                                                                newArticle.TweetId      = item.TwitterId;
                                                                newArticle.VideoUrl     = item.ArticleVideoUrl;
                                                                newArticle.Approved     = false;
                                                                newArticle.CategoryId   = 1;
                                                                newArticle.FavoriteHits = 0;
                                                                newArticle.Hits         = 0;
                                                                newArticle.LikeHits     = 0;
                                                                newArticle.UnlikeHits   = 0;


                                                                newArticles.Add(newArticle);
                                                            }
                                                            catch (Exception ex)
                                                            {
                                                                logger(item.ArticleId + logSeperator + "Not Converted Local Format" + logSeperator + ex.ToString());
                                                            }
                                                        }
                                                    }
                                                }


                                                try
                                                {
                                                    context.Article.AddRange(newArticles);
                                                    context.SaveChanges();
                                                    logger("SUCCESSFULLY" + logSeperator + string.Format("{0:00} items", newArticles.Count) + logSeperator + source.Name, true);
                                                }
                                                catch (Exception ex)
                                                {
                                                    logger(source.Name + logSeperator + "Not Saved to Database" + logSeperator + ex.ToString());
                                                }
                                            }
                                            catch (Exception ex)
                                            {
                                                logger(source.Name + logSeperator + "Not Deserialize" + logSeperator + ex.ToString());
                                            }
                                        }
                                    }
                                    catch (Exception ex)
                                    {
                                        logger(source.Name + logSeperator + "Not Downloaded" + logSeperator + ex.ToString());
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            logger("DATABASE ERROR\t" + ex.ToString());
                        }
                    }

                    lblDuration.Text  = ((int)(DateTime.Now.Subtract(now).TotalSeconds)).ToString() + " sn";
                    lblStatus.Text    = "Waiting next run...";
                    isThreadRunning   = false;
                    pictureBox1.Image = Resources.if_check_1055094;
                    loggerApp("Excuted comleted");
                }
                else
                {
                    loggerApp("Thread is running");
                }
            }
            else
            {
                loggerApp("Thread not set");
            }
        }