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);
 }
Beispiel #8
0
 /// <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));
 }