public ReportData (ReportData other) { TotalGrand = other.TotalGrand; TotalBillable = other.TotalBillable; TotalCost = other.TotalCost; Activity = other.Activity; Projects = other.Projects; }
private static ReportData ImportJson (ReportData data, ReportJson json) { data.TotalGrand = json.TotalGrand; data.TotalBillable = json.TotalBillable; data.Activity = MakeActivityList (json.ActivityContainer); data.Projects = MakeProjectList (json.Projects); data.TotalCost = new List<string> (); if (json.TotalCurrencies != null) { json.TotalCurrencies.Sort ((x, y) => y.Amount.CompareTo (x.Amount)); foreach (var row in json.TotalCurrencies) { data.TotalCost.Add (String.Format ("{0} {1}", row.Amount, row.Currency)); } } return data; }
private async Task FetchData (DateTime startDate, DateTime endDate) { dataObject = CreateEmptyReport (startDate); try { _isError = false; var json = await reportClient.GetReports (startDate, endDate, (long)workspaceId); dataObject = json.Import (); } catch ( Exception exc) { var log = ServiceContainer.Resolve<ILogger> (); if (exc.IsNetworkFailure () || exc is TaskCanceledException) { var msg = (reportClient.IsCancellationRequested) ? "Fetch reports cancelation requested by user" : "Failed to fetch reports. Network failure."; log.Info (Tag, exc, msg); } else { log.Warning (Tag, exc, "Failed to fetch reports."); } _isError = ! (exc is TaskCanceledException); } finally { CalculateReportData (); } }