Exemplo n.º 1
0
 private Result <LogBook> GetLogBook()
 {
     try
     {
         if (File.Exists(fileName))
         {
             string      json   = File.ReadAllText(fileName);
             LogBookData result = JsonConvert.DeserializeObject <LogBookData>(json);
             return(Results.Success(LogBookMapper.SafeMap(result)));
         }
         return(Results.Success(LogBookMapper.SafeMap(null)));
     }
     catch (Exception e)
     {
         return(Results.Failure <LogBook>($"Failed to read daily sheets from disk: {e}."));
     }
 }
Exemplo n.º 2
0
 private Result <object> SaveLogBook(LogBook logBook)
 {
     try
     {
         if (!Directory.GetParent(fileName).Exists)
         {
             Directory.GetParent(fileName).Create();
         }
         var data = new LogBookData
         {
             // save only for 2 latest months
             Days = logBook.Days.OrderByDescending(l => l.DayStarted)
                    .Take(61).Select(d => DayMapper.Map(d)).ToList(),
             Stash = logBook.Stash
         };
         string json = JsonConvert.SerializeObject(data);
         File.WriteAllText(fileName, json);
         return(Results.SuccessfulUnit);
     }
     catch (Exception e)
     {
         return(Results.Failure <object>($"Failed to save sheets: {e.Message}"));
     }
 }
Exemplo n.º 3
0
 public static LogBook SafeMap(LogBookData data)
 {
     return(new LogBook(
                data?.Days?.Select(d => DayMapper.Map(d)).ToList() ?? new List <Day>(),
                data?.Stash ?? TimeSpan.Zero));
 }