Esempio n. 1
0
        static void LoadArticles(db2DataSet.MyDataSet.CONTENT_ITEMDataTable ContentItemDataTable)
        {
            int      articleCount = 0;
            int      resetcount   = 0;
            DateTime startwatch   = DateTime.Now;
            DateTime startwatch2  = DateTime.Now;
            int      cnt          = 0;
            int      total        = ContentItemDataTable.Rows.Count;
            float    throttle     = 0;

            foreach (db2DataSet.MyDataSet.CONTENT_ITEMRow ContentItemRow in ContentItemDataTable)  // content_item
            {
                try {
                    string article_uid = ContentItemRow.CONTENT_ITEM_UID;
                    ProcessFreeForm(article_uid);
                    ProcessPDF(article_uid);
                    bool articleExists = BusinessRule.BusinessRule.DoesArticleExist(article_uid);

                    if (!articleExists)
                    {
                        int imagecount = ProcessImageRow(ContentItemRow); // Update Image table
                        articleCount += 1;
                        resetcount    = articleCount;

                        ProcessArticleRow(ContentItemRow, imagecount, articleCount);
                        if ((articleCount % 100) == 0)
                        {
                            TimeSpan t  = DateTime.Now.Subtract(startwatch);
                            TimeSpan t2 = DateTime.Now.Subtract(startwatch2);

                            int remaining = total - articleCount;
//                            float average = (float) articleCount /(float) ((t.Hours * 60) + (t.Minutes * 60) + t.Seconds);
                            float avg = (float)t2.Seconds / 100;
                            throttle += avg;
                            cnt      += 1;
                            avg       = throttle / (float)cnt;
                            float    totaverage = (float)remaining * avg; // Number of seconds remaining
                            TimeSpan t3         = TimeSpan.FromSeconds(totaverage);


                            Console.WriteLine(string.Format("{0}/{1}  Date: {2} Remaining Time Est: {3}", articleCount, total, gStartDate.ToShortDateString(), t3));
                            startwatch2 = DateTime.Now;
                        }
                    } // articleExists
                    else
                    {
                        Console.WriteLine(string.Format("Article: {0} exists already skip...", article_uid));
                        articleCount += 1;
                    }
                }
                catch (Exception e)
                {
                    writeExceptionLog(e.Message, e.StackTrace);
                }
            } // foreach
        }     // LoadArticles
Esempio n. 2
0
        static int ProcessImageRow(db2DataSet.MyDataSet.CONTENT_ITEMRow ContentItemRow)
        {
            int    imagecount  = 0;
            string errmsg      = "";
            string article_uid = ContentItemRow.CONTENT_ITEM_UID;

            db2DataSet.MyDataSet.RELATED_CONTENTDataTable RelatedContentItemDataTable = new db2DataSet.MyDataSet.RELATED_CONTENTDataTable();
            RelatedContentTableAdapter.FillBy(RelatedContentItemDataTable, article_uid);  // Get Related Content table for this article
            if (RelatedContentItemDataTable.Rows.Count > 0)
            {
                foreach (db2DataSet.MyDataSet.RELATED_CONTENTRow RelatedContentRow in RelatedContentItemDataTable)
                {
                    try
                    {
                        db2DataSet.MyDataSetTableAdapters.CONTENT_ITEMTableAdapter Local_ContentItemTableAdapter = new db2DataSet.MyDataSetTableAdapters.CONTENT_ITEMTableAdapter();
                        db2DataSet.MyDataSet.CONTENT_ITEMDataTable ContentItemDataTable = new db2DataSet.MyDataSet.CONTENT_ITEMDataTable();
                        Local_ContentItemTableAdapter.FillByUID(ContentItemDataTable, RelatedContentRow.RELATED_CONTENT_ITEM_UID); // Content_item of related content
                        if (ContentItemDataTable.Rows.Count == 1 && ((db2DataSet.MyDataSet.CONTENT_ITEMRow)(ContentItemDataTable.Rows[0])).CONTENT_TYPE_UID == (int)asset.image)
                        {
                            string position  = Convert.IsDBNull(RelatedContentRow["POSITION_UCODE"]) ? "" : RelatedContentRow.POSITION_UCODE;
                            string asset_uid = ((db2DataSet.MyDataSet.CONTENT_ITEMRow)(ContentItemDataTable.Rows[0])).CONTENT_ITEM_UID;
                            db2DataSet.MyDataSet.IMAGEDataTable ImageDataTable = new db2DataSet.MyDataSet.IMAGEDataTable();
                            ImageTableAdapter.FillBy(ImageDataTable, asset_uid);
                            if (ImageDataTable.Count() == 1)
                            {
                                db2DataSet.MyDataSet.IMAGERow ImageRow = (db2DataSet.MyDataSet.IMAGERow)ImageDataTable.Rows[0];
                                string caption    = Convert.IsDBNull(ImageRow["CAPTION"]) ? "" : ImageRow.CAPTION;
                                string media_type = Convert.IsDBNull(ImageRow["MEDIA_SIZE_TYPE_UCODE"]) ? "" : ImageRow.MEDIA_SIZE_TYPE_UCODE;
                                int    filesize   = 0;
                                byte[] data       = getFile(new Uri(ImageRow.IMAGE_URL), ref errmsg);
                                if (errmsg.Length == 0)
                                {
                                    filesize = data.Length;
                                }
                                DataDb.spExecute("LoadImage", ref errmsg, "@article_uid", article_uid, "@asset_uid", asset_uid, "@imagepath", ImageRow.IMAGE_URL, "@position", position, "@width", ImageRow.WIDTH, "@height", ImageRow.HEIGHT, "@caption", caption, "@filesize", filesize, "@media_type", media_type);
                                if (errmsg.Length > 0)
                                {
                                    writetolog(string.Format("Article id: {0} LoadImageTable {1} ", article_uid, errmsg));
                                }
                                else
                                {
                                    imagecount += 1;
                                }
                            } // ImageDataTable == 1
                        }
                    }
                    catch (Exception e)
                    {
                        writeExceptionLog(e.Message, e.StackTrace);
                    }
                } // foreach
            }
            return(imagecount);
        } // ProcessImageRow
Esempio n. 3
0
        static string GetOrigSite(string article_uid, string contentitemUid)
        {
            string origSiteUid = "";

            db2DataSet.MyDataSet.CONTENT_ITEMDataTable ContentItemDataTable = new db2DataSet.MyDataSet.CONTENT_ITEMDataTable();
            ContentItemTableAdapter.FillByUID(ContentItemDataTable, contentitemUid);
            if (ContentItemDataTable.Rows.Count == 1)
            {
                db2DataSet.MyDataSet.CONTENT_ITEMRow ContentItemRow = (db2DataSet.MyDataSet.CONTENT_ITEMRow)ContentItemDataTable.Rows[0];
                origSiteUid = ContentItemRow.SITE_UID;
            }
            else
            {
                string msg = string.Format("Error GetOrigSite article: {0} contentid: {1} contentitem table returned {2} rows ", article_uid, contentitemUid, ContentItemDataTable.Rows.Count);
                writetolog(msg);
            }
            return(origSiteUid);
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            // Guid g1 = Guid.NewGuid();
            // string key = g1.ToString("N");
            bool show_help = false;

            List <string> extra;
            List <string> siteCodes  = new List <string>();
            List <string> Logfiles   = new List <string>();
            List <string> startDates = new List <string>();
            List <string> endDates   = new List <string>();
            var           p          = new OptionSet()
            {
                { "c|sitecode=", " (required) the source Site Code.", v => siteCodes.Add(v) },
                { "s|start=", " (required) the start Date.", v => startDates.Add(v) },
                { "e|end=", " (required) the End Date.", v => endDates.Add(v) },
                { "l|log=", " (required) log filename.", v => Logfiles.Add(v) },
                { "h|help", " Show this message and exit", v => show_help = v != null },
            };

            try
            {
                extra = p.Parse(args);
            }
            catch (OptionException e)
            {
                Console.Write("migration: ");
                Console.WriteLine(e.Message);
                Console.WriteLine("Try migration --help for more information.");
                return;
            }

            if (show_help)
            {
                ShowHelp(p);
                Console.ReadLine();
                return;
            }

            bool valid = true;

            if (!CheckArgument(siteCodes, "sitecode"))
            {
                valid = false;
            }
            if (!CheckArgument(Logfiles, "Log"))
            {
                valid = false;
            }
            if (!CheckArgument(startDates, "start"))
            {
                valid = false;
            }
            if (!CheckArgument(endDates, "end"))
            {
                valid = false;
            }
            if (!valid)
            {
                wait();
                return;
            }



            site_uid = siteCodes[0];
            DateTime startdate = DateTime.ParseExact(startDates[0], "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);
            DateTime stopDate  = DateTime.ParseExact(endDates[0], "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);

            LogFileName = Logfiles[0];
            db2DataSet.MyDataSetTableAdapters.CONTENT_ITEMTableAdapter ContentItemTableAdapter = new db2DataSet.MyDataSetTableAdapters.CONTENT_ITEMTableAdapter();
            db2DataSet.MyDataSet.CONTENT_ITEMDataTable ContentItemDataTable = new db2DataSet.MyDataSet.CONTENT_ITEMDataTable();
            Console.WriteLine("site_uid: {0} startdate: {1} stopdate: {2}", site_uid, startdate, stopDate);
            ContentItemTableAdapter.FillBy(ContentItemDataTable, site_uid, (int)asset.article, startdate, stopDate); // Get Articles
            Console.WriteLine("Total Articles: {0} ", ContentItemDataTable.Rows.Count);
            LoadArticles(ContentItemDataTable);
            Console.WriteLine(string.Format("Finished Failed: {0} ", failedArticles));
            Console.Read();
        }