private DiaryDatabase.Model.Data.Xml.Diary CreateWhoops(DiaryDatabase.Model.Data.Xml.Diary modelDiary) { var whoopsDiary = new DiaryDatabase.Model.Data.Xml.Diary(modelDiary); // only get those entries with a whoops in it. whoopsDiary.Entries = whoopsDiary.Entries.Where(entry => entry.Info != null && entry.Info.OriginalContent != null && entry.Info.OriginalContent.Contains("</woops>")).ToList(); whoopsDiary.People = null; whoopsDiary.Locations = null; // remove the info context not contained in the whoops elements. foreach (var entry in whoopsDiary.Entries) { int searchFromIndex = 0; var node = this.GetNextNode("woops", entry, ref searchFromIndex, searchFromIndex); if (node != null) { entry.Info.Content = this.ConvertImagesToHtml(node.InnerXml); entry.Title.Value = node.Attributes["woopstitle"].Value; entry.Title.Name = node.Attributes["rating"].Value; entry.Locations = null; entry.People = null; entry.First = null; } } return(whoopsDiary); }
private DiaryDatabase.Model.Data.Xml.Diary CreateAll(DiaryDatabase.Model.Data.Xml.Diary modelDiary) { var latestEntries = new DiaryDatabase.Model.Data.Xml.Diary(modelDiary); latestEntries.Entries = latestEntries.Entries.OrderByDescending(entry => entry.DateEntry.Value).ToList(); return(this.PostProcessEntries(latestEntries)); }
private DiaryDatabase.Model.Data.Xml.Diary CreateOldEntries(int beforeYear, DiaryDatabase.Model.Data.Xml.Diary modelDiary) { var oldEntries = new DiaryDatabase.Model.Data.Xml.Diary(modelDiary); oldEntries.Entries = oldEntries.Entries.OrderByDescending(entry => entry.DateEntry.Value).Where(entry => entry.DateEntry.Year < beforeYear).ToList(); return(this.PostProcessEntries(oldEntries)); }
private void SaveJson(DiaryDatabase.Model.Data.Xml.Diary diary, string filename, Dictionary <string, int> hashes, bool copyOptions = true) { var outPath = Path.Combine(this.configuration.JsonDirectoryPath, filename); var hash = _diarySerialization.SaveJsonDiary(outPath, diary, copyOptions); hashes[filename] = hash; }
private DiaryDatabase.Model.Data.Xml.Diary CreateNoInfo(DiaryDatabase.Model.Data.Xml.Diary modelDiary) { var noInfoDiary = new DiaryDatabase.Model.Data.Xml.Diary(modelDiary); //foreach (var entry in noInfoDiary.Entries) //{ // entry.Info = null; // } return(noInfoDiary); }
private void SaveListOfImages(DiaryDatabase.Model.Data.Xml.Diary modelDiary) { var images1 = modelDiary.Entries.Where(entry => entry.Info != null && entry.Info.Images != null); var images2 = images1.SelectMany(entry => entry.Info.Images); var images = images2.Select(image => image.Path); var imageList = string.Join(",", images); var imageListFilePath = Path.Combine(this.configuration.BasePath, "imagelist.csv"); File.WriteAllText(imageListFilePath, imageList); }
private DiaryDatabase.Model.Data.Xml.Diary PostProcessEntries(DiaryDatabase.Model.Data.Xml.Diary latestEntries) { latestEntries.Entries.ForEach(entry => { if (entry.Info != null && entry.Info.Content != null) { entry.Info.Content = this.ConvertImagesToHtml(entry.Info.Content); } }); latestEntries.Locations = null; latestEntries.People = null; return(latestEntries); }
/// <summary> /// Maps from the model Diary to the one defined in this assembly /// </summary> /// <param name="source">The Model version of the diary</param> /// <returns>Locally defined diary</returns> public Diary Map(DiaryDatabase.Model.Data.Xml.Diary source) { return(AutoMapper.Mapper.Map <DiaryDatabase.Model.Data.Xml.Diary, Diary>(source)); }