private static void SaveTaxonomy(Database db)
        {
            List <Dtos.Taxonomy> tags = new List <Dtos.Taxonomy>();

            foreach (var sourceTag in db.TaxonomyItems)
            {
                Dtos.Taxonomy destinationTag = new Dtos.Taxonomy()
                {
                    Id        = sourceTag.Id,
                    Name      = sourceTag.Name,
                    CreatedBy = sourceTag.CreatedBy.Value,
                    UpdatedBy = sourceTag.UpdatedBy.Value,
                    Revision  = sourceTag.Revision.Value
                };

                destinationTag.Created = DateReader.GetDateFromSitecoreFieldValue(sourceTag.Created.Value);
                destinationTag.Updated = DateReader.GetDateFromSitecoreFieldValue(sourceTag.Updated.Value);

                destinationTag.TagName = sourceTag.TagName?.Value;

                tags.Add(destinationTag);
            }

            using (var httpClient = new HttpClient())
            {
                var uri           = new Uri("https://saasxm.xcentium.com/sitecore/api/ssc/blogapi/blogimporter/0/savetags");
                var jsonRequest   = JsonConvert.SerializeObject(tags);
                var stringContent = new StringContent(jsonRequest, Encoding.UTF8, "application/json");
                var response      = httpClient.PostAsync(uri, stringContent).Result;
                if (!response.IsSuccessStatusCode)
                {
                    Console.WriteLine("Received response failure when saving Tags.");
                }
            }
        }
Exemple #2
0
        void RoundTripSingleValue(int numValues)
        {
            var random = new Random(123);
            var pocos  = GenerateRandomDates(random, numValues).Select(t => new SingleValuePoco {
                Value = t
            }).ToList();

            var configuration = new SerializationConfiguration()
                                .ConfigureType <SingleValuePoco>()
                                .ConfigureProperty(x => x.Value, x => x.SerializeAsDate = true)
                                .Build();

            var    stream = new MemoryStream();
            Footer footer;

            StripeStreamHelper.Write(stream, pocos, out footer, configuration);
            var stripeStreams = StripeStreamHelper.GetStripeStreams(stream, footer);
            var reader        = new DateReader(stripeStreams, 1);
            var results       = reader.Read().ToArray();

            for (int i = 0; i < numValues; i++)
            {
                Assert.Equal(pocos[i].Value, results[i]);
            }
        }
        public void ReadDataInputFile()
        {
            SetupConfiguration();
            var dates = DateReader.ReadDates(Path);

            Assert.True(dates.Count == 4);
            Assert.True(dates[0] == "02/27/17");
            Assert.True(dates[1] == "June 2, 2018");
            Assert.True(dates[2] == "Jul-13-2016");
            Assert.True(dates[3] == "April 31, 2018");
        }
        public MainWindow()
        {
            InitializeComponent();
            SetupConfiguration();

            var items = new ObservableCollection <string>();
            var dates = DateReader.ReadDates(DateFile).ToList();

            dates.ForEach(d => items.Add(d));
            DatesCmb.ItemsSource  = items;
            GetImageBtn.IsEnabled = false;
        }
        private static void SaveBlogs(Database db)
        {
            List <Dtos.Blog> blogs = new List <Dtos.Blog>();

            foreach (var sourceBlog in db.BlogPosts)
            {
                Dtos.Blog destinationBlog = new Dtos.Blog()
                {
                    Id        = sourceBlog.Id,
                    Name      = sourceBlog.Name,
                    CreatedBy = sourceBlog.CreatedBy.Value,
                    UpdatedBy = sourceBlog.UpdatedBy.Value,
                    Revision  = sourceBlog.Revision.Value
                };

                destinationBlog.Created = DateReader.GetDateFromSitecoreFieldValue(sourceBlog.Created.Value);
                destinationBlog.Updated = DateReader.GetDateFromSitecoreFieldValue(sourceBlog.Updated.Value);

                destinationBlog.Title   = sourceBlog.Title?.Value;
                destinationBlog.Image   = sourceBlog.Image?.Value;
                destinationBlog.Summary = sourceBlog.Summary?.Value;
                destinationBlog.Body    = sourceBlog.Body?.Value;
                destinationBlog.Author  = sourceBlog.Author?.Value;

                destinationBlog.PublishingDate =
                    DateReader.GetDateFromSitecoreFieldValue(sourceBlog.PublishingDate?.Value);

                destinationBlog.Tags              = sourceBlog.Tags?.Value;
                destinationBlog.BrowserTitle      = sourceBlog.BrowserTitle?.Value;
                destinationBlog.MetaDescription   = sourceBlog.MetaDescription?.Value;
                destinationBlog.MetaKeywords      = sourceBlog.MetaKeywords?.Value;
                destinationBlog.SearchTitle       = sourceBlog.SearchTitle?.Value;
                destinationBlog.SearchDescription = sourceBlog.SearchDescription?.Value;
                destinationBlog.SearchImage       = sourceBlog.SearchImage?.Value;

                blogs.Add(destinationBlog);
            }

            using (var httpClient = new HttpClient())
            {
                var uri           = new Uri("https://saasxm.xcentium.com/sitecore/api/ssc/blogapi/blogimporter/0/saveblogs");
                var jsonRequest   = JsonConvert.SerializeObject(blogs);
                var stringContent = new StringContent(jsonRequest, Encoding.UTF8, "application/json");
                var response      = httpClient.PostAsync(uri, stringContent).Result;
                if (!response.IsSuccessStatusCode)
                {
                    Console.WriteLine("Received response failure when saving Blogs.");
                }
            }
        }
        public void TestDateInputs()
        {
            SetupConfiguration();
            var dates = DateReader.ReadDates(Path);

            var date1 = new FormattedDate(dates[0]);

            Assert.True(date1.FormattedDateString == "2017-02-27");
            var date2 = new FormattedDate(dates[1]);

            Assert.True(date2.FormattedDateString == "2018-06-02");
            var date3 = new FormattedDate(dates[2]);

            Assert.True(date3.FormattedDateString == "2016-07-13");
            Func <FormattedDate> date4 = () => new FormattedDate(dates[3]);

            Assert.Throws <System.FormatException>(date4);
        }
        private static void SaveAuthors(Database db)
        {
            List <Dtos.Author> authors =
                new List <Dtos.Author>();

            foreach (var sourceAuthor in db.Authors)
            {
                Dtos.Author destinationAuthor =
                    new Dtos.Author
                {
                    Id        = sourceAuthor.Id,
                    Name      = sourceAuthor.Name,
                    CreatedBy = sourceAuthor.CreatedBy.Value,
                    UpdatedBy = sourceAuthor.UpdatedBy.Value,
                    Revision  = sourceAuthor.Revision.Value
                };

                destinationAuthor.Created = DateReader.GetDateFromSitecoreFieldValue(sourceAuthor.Created.Value);
                destinationAuthor.Updated = DateReader.GetDateFromSitecoreFieldValue(sourceAuthor.Updated.Value);

                destinationAuthor.FullName     = sourceAuthor.FullName?.Value;
                destinationAuthor.Title        = sourceAuthor.Title?.Value;
                destinationAuthor.Location     = sourceAuthor.Location?.Value;
                destinationAuthor.Bio          = sourceAuthor.Bio?.Value;
                destinationAuthor.ProfileImage = sourceAuthor.ProfileImage?.Value;
                destinationAuthor.EmailAddress = sourceAuthor.EmailAddress?.Value;
                destinationAuthor.Creator      = sourceAuthor.Creator?.Value;

                authors.Add(destinationAuthor);
            }

            using (var httpClient = new HttpClient())
            {
                var uri           = new Uri("https://saasxm.xcentium.com/sitecore/api/ssc/blogapi/blogimporter/0/saveauthors");
                var jsonRequest   = JsonConvert.SerializeObject(authors);
                var stringContent = new StringContent(jsonRequest, Encoding.UTF8, "application/json");
                var response      = httpClient.PostAsync(uri, stringContent).Result;
                if (!response.IsSuccessStatusCode)
                {
                    Console.WriteLine("Received response failure when saving Authors.");
                }
            }
        }
        private static void SaveMediaItems(Database db)
        {
            List <Dtos.Image> images = new List <Dtos.Image>();

            foreach (var sourceImage in db.Images)
            {
                Dtos.Image destinationImage = null;
                if (sourceImage is Jpeg)
                {
                    var destinationJpeg = new Dtos.Jpeg()
                    {
                        Id        = sourceImage.Id,
                        Name      = sourceImage.Name,
                        CreatedBy = sourceImage.CreatedBy.Value,
                        UpdatedBy = sourceImage.UpdatedBy.Value,
                        Revision  = sourceImage.Revision.Value
                    };
                    var sourceJpeg = sourceImage as Jpeg;

                    destinationJpeg.Artist           = sourceJpeg.Artist?.Value;
                    destinationJpeg.Copyright        = sourceJpeg.Copyright?.Value;
                    destinationJpeg.ImageDescription = sourceJpeg.ImageDescription?.Value;
                    destinationJpeg.Make             = sourceJpeg.Make?.Value;
                    destinationJpeg.Model            = sourceJpeg.Model?.Value;
                    destinationJpeg.Software         = sourceJpeg.Software?.Value;

                    destinationImage = destinationJpeg;
                }
                else
                {
                    destinationImage = new Dtos.Image()
                    {
                        Id        = sourceImage.Id,
                        Name      = sourceImage.Name,
                        CreatedBy = sourceImage.CreatedBy.Value,
                        UpdatedBy = sourceImage.UpdatedBy.Value,
                        Revision  = sourceImage.Revision.Value
                    };
                }

                destinationImage.Created = DateReader.GetDateFromSitecoreFieldValue(sourceImage.Created.Value);
                destinationImage.Updated = DateReader.GetDateFromSitecoreFieldValue(sourceImage.Updated.Value);

                destinationImage.Alt        = sourceImage.Alt?.Value;
                destinationImage.Width      = sourceImage.Width?.Value;
                destinationImage.Height     = sourceImage.Height?.Value;
                destinationImage.Dimensions = sourceImage.Dimensions?.Value;
                destinationImage.MimeType   = sourceImage.MimeType?.Value;

                destinationImage.Path = sourceImage.Path;

                Blob blob = db.Blobs.Single(b => "{" + b.Name.ToUpper() + "}" == sourceImage.Blob.Value);
                destinationImage.Blob     = blob.Data;
                destinationImage.FileName = sourceImage.Name + "." + sourceImage.Extension?.Value;

                destinationImage.IsAuthor = db.Authors.Any(a => a.ProfileImageMediaID == sourceImage.Id);

                images.Add(destinationImage);
            }

            using (var httpClient = new HttpClient())
            {
                var uri           = new Uri("https://saasxm.xcentium.com/sitecore/api/ssc/blogapi/blogimporter/0/savemediaitems");
                var jsonRequest   = JsonConvert.SerializeObject(images);
                var stringContent = new StringContent(jsonRequest, Encoding.UTF8, "application/json");
                var task          = Task.Run(async() =>
                {
                    HttpResponseMessage msg = await httpClient.PostAsync(uri, stringContent);
                    if (!msg.IsSuccessStatusCode)
                    {
                        Console.WriteLine($"Received response failure when saving Media Items. {msg.Content.ToString()}");
                    }
                });
                task.Wait(new TimeSpan(0, 30, 0));
            }
        }
Exemple #9
0
        static void Main(string[] args)
        {
            if (args.Length != 1)
            {
                Console.WriteLine("Usage: <FILENAME>");
                return;
            }

            var filename = args[0];
            var stream   = new FileStream(filename, FileMode.Open, FileAccess.Read);
            var fileTail = new FileTail(stream);

            foreach (var stripe in fileTail.Stripes)
            {
                Console.WriteLine($"Reading stripe with {stripe.NumRows} rows");
                var stripeStreamCollection = stripe.GetStripeStreamCollection();

                if (fileTail.Footer.Types[0].Kind != ColumnTypeKind.Struct)
                {
                    throw new InvalidDataException($"The base type must be {nameof(ColumnTypeKind.Struct)}");
                }
                var names = fileTail.Footer.Types[0].FieldNames;

                for (int columnId = 1; columnId < fileTail.Footer.Types.Count; columnId++)
                {
                    var columnType = fileTail.Footer.Types[columnId];
                    var columnName = names[columnId - 1];

                    switch (columnType.Kind)
                    {
                    case ColumnTypeKind.Long:
                    case ColumnTypeKind.Int:
                    case ColumnTypeKind.Short:
                    {
                        Console.WriteLine($"Reading longs from column {columnId} ({columnName})");
                        var reader = new LongReader(stripeStreamCollection, (uint)columnId);
                        var count  = reader.Read().Count();
                        Console.WriteLine($"Done reading {count} longs");
                        break;
                    }

                    case ColumnTypeKind.Byte:
                    {
                        Console.WriteLine($"Reading bytes from column {columnId} ({columnName})");
                        var reader = new ByteReader(stripeStreamCollection, (uint)columnId);
                        var count  = reader.Read().Count();
                        Console.WriteLine($"Done reading {count} bytes");
                        break;
                    }

                    case ColumnTypeKind.Boolean:
                    {
                        Console.WriteLine($"Reading bools from column {columnId} ({columnName})");
                        var reader = new BooleanReader(stripeStreamCollection, (uint)columnId);
                        var count  = reader.Read().Count();
                        Console.WriteLine($"Done reading {count} bools");
                        break;
                    }

                    case ColumnTypeKind.Float:
                    {
                        Console.WriteLine($"Reading floats from column {columnId} ({columnName})");
                        var reader = new FloatReader(stripeStreamCollection, (uint)columnId);
                        var count  = reader.Read().Count();
                        Console.WriteLine($"Done reading {count} floats");
                        break;
                    }

                    case ColumnTypeKind.Double:
                    {
                        Console.WriteLine($"Reading doubles from column {columnId} ({columnName})");
                        var reader = new DoubleReader(stripeStreamCollection, (uint)columnId);
                        var count  = reader.Read().Count();
                        Console.WriteLine($"Done reading {count} doubles");
                        break;
                    }

                    case ColumnTypeKind.Binary:
                    {
                        Console.WriteLine($"Reading binary from column {columnId} ({columnName})");
                        var reader = new ColumnTypes.BinaryReader(stripeStreamCollection, (uint)columnId);
                        var count  = reader.Read().Count();
                        Console.WriteLine($"Done reading {count} binaries");
                        break;
                    }

                    case ColumnTypeKind.Decimal:
                    {
                        Console.WriteLine($"Reading decimals from column {columnId} ({columnName})");
                        var reader = new DecimalReader(stripeStreamCollection, (uint)columnId);
                        var count  = reader.Read().Count();
                        Console.WriteLine($"Done reading {count} decimals");
                        break;
                    }

                    case ColumnTypeKind.Timestamp:
                    {
                        Console.WriteLine($"Reading timestamps from column {columnId} ({columnName})");
                        var reader = new TimestampReader(stripeStreamCollection, (uint)columnId);
                        var count  = reader.Read().Count();
                        Console.WriteLine($"Done reading {count} timestamps");
                        break;
                    }

                    case ColumnTypeKind.Date:
                    {
                        Console.WriteLine($"Reading dates from column {columnId} ({columnName})");
                        var reader = new DateReader(stripeStreamCollection, (uint)columnId);
                        var count  = reader.Read().Count();
                        Console.WriteLine($"Done reading {count} dates");
                        break;
                    }

                    case ColumnTypeKind.String:
                    {
                        Console.WriteLine($"Reading strings from column {columnId} ({columnName})");
                        var reader = new ColumnTypes.StringReader(stripeStreamCollection, (uint)columnId);
                        var count  = reader.Read().Count();
                        Console.WriteLine($"Done reading {count} strings");
                        break;
                    }

                    default:
                        throw new NotImplementedException();
                    }
                }

                Console.WriteLine("Done reading stripe");
            }
        }