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."); } } }
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)); } }
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"); } }