/// <summary> /// Reads Sitelinks to be updated from Excel Spreadsheet. /// </summary> /// <param name="siteLinkFilePath">Path of SpreadSheet</param> /// <returns>List of SiteLinks and Values modelled into Class SiteLinkModel</returns> public List <SiteLinkModel> Read(string siteLinkFilePath) { List <SiteLinkModel> sitelinksDataFromExcel = new List <SiteLinkModel>(); if (File.Exists(siteLinkFilePath)) { ExcelPackage.LicenseContext = LicenseContext.NonCommercial; using (var package = new ExcelPackage(new FileInfo(siteLinkFilePath))) { var worksheet = package.Workbook.Worksheets.First(); for (int i = 2; i <= worksheet.Dimension.End.Row; i++) { SiteLinkModel siteLinkModel = new SiteLinkModel(); try { siteLinkModel.FeedId = long.Parse(worksheet.Cells[i, 1].Value.ToString().Trim().Replace("\r\n", " ")); siteLinkModel.FeedItemId = long.Parse(worksheet.Cells[i, 2].Value.ToString().Trim().Replace("\r\n", " ")); siteLinkModel.AccountId = worksheet.Cells[i, 3].Value.ToString().Trim().Replace("\r\n", " "); siteLinkModel.Text = worksheet.Cells[i, 4].Value.ToString().Trim().Replace("\r\n", " "); siteLinkModel.DescriptionLine1 = worksheet.Cells[i, 5].Value.ToString().Trim().Replace("\r\n", " "); siteLinkModel.DescriptionLine2 = worksheet.Cells[i, 6].Value.ToString().Trim().Replace("\r\n", " "); siteLinkModel.Url = worksheet.Cells[i, 7].Value.ToString().Trim().Replace("\r\n", " "); if (siteLinkModel.Text.Trim().Length == 0 || siteLinkModel.DescriptionLine1.Trim().Length == 0 || siteLinkModel.DescriptionLine2.Trim().Length == 0 || siteLinkModel.Url.Trim().Length == 0) { siteLinkModel.IsDataValid = false; } else { siteLinkModel.IsDataValid = true; } } catch (Exception ex) { siteLinkModel.IsDataValid = false; Logger.Log(Logger.LogType.EXCEPTION, "Reading Row (" + (i + 2) + ") " + ex.Message + Environment.NewLine + ex.InnerException); } sitelinksDataFromExcel.Add(siteLinkModel); } } } else { Logger.Log(Logger.LogType.ERROR, "Excel File with Site Link Does not Found at Path: " + siteLinkFilePath); } return(sitelinksDataFromExcel); }
/// <summary> ///Creates FeedItem Object from SiteLinkModel Object /// </summary> /// <param name="siteLinkModelObject">SiteLinkModelObject</param> /// <returns>Feed Item</returns> public FeedItem CreateFeedItem(SiteLinkModel siteLinkModelObject) { FeedItem feedItem = new FeedItem(); feedItem.feedId = siteLinkModelObject.FeedId; feedItem.feedItemId = siteLinkModelObject.FeedItemId; //Feed Attribute ID for Text is 1 FeedItemAttributeValue text = new FeedItemAttributeValue(); text.feedAttributeId = 1; text.stringValue = siteLinkModelObject.Text; //Feed Attribute ID for Description Line#1 is 3 FeedItemAttributeValue descriptionLine1 = new FeedItemAttributeValue(); descriptionLine1.feedAttributeId = 3; descriptionLine1.stringValue = siteLinkModelObject.DescriptionLine1; //Feed Attribute ID for Description Line2 is 4 FeedItemAttributeValue descriptionLine2 = new FeedItemAttributeValue(); descriptionLine2.feedAttributeId = 4; descriptionLine2.stringValue = siteLinkModelObject.DescriptionLine2; //Feed Attribute ID for Final URL is 5 FeedItemAttributeValue finalUrl = new FeedItemAttributeValue(); finalUrl.feedAttributeId = 5; finalUrl.stringValues = new string[] { siteLinkModelObject.Url }; feedItem.attributeValues = new FeedItemAttributeValue[] { text, descriptionLine1, descriptionLine2, finalUrl }; return(feedItem); }
public SitelinkFeedItem CreateSiteLinkFeedItem(SiteLinkModel siteLinkModel) { SitelinkFeedItem sitelinkFeedItem = new SitelinkFeedItem(); sitelinkFeedItem.feedId = siteLinkModel.FeedId; sitelinkFeedItem.feedItemId = siteLinkModel.FeedItemId; sitelinkFeedItem.feedType = siteLinkModel.TypeOfFeed; sitelinkFeedItem.sitelinkText = siteLinkModel.Text; sitelinkFeedItem.sitelinkLine2 = siteLinkModel.DescriptionLine1; sitelinkFeedItem.sitelinkLine3 = siteLinkModel.DescriptionLine2; sitelinkFeedItem.sitelinkFinalUrls = new UrlList() { urls = new string[] { siteLinkModel.Url } }; return(sitelinkFeedItem); }