public void NavigateToPage(int pageIndex)
 {
     CurrentPageIndex = pageIndex;
     if (FaiCollectionBuffers == null || FaiCollectionBuffers.Count == 0)
     {
         CollectionsToShow = new List <IFaiCollection>();
         return;
     }
     // If it is the first page ...
     if (pageIndex == 0)
     {
         CollectionsToShow = FaiCollectionBuffers
                             .Take(RowsPerPage > FaiCollectionBuffers.Count ? FaiCollectionBuffers.Count : RowsPerPage)
                             .ToList();
     }
     // If it is the last page ...
     else if (pageIndex == TotalPages - 1)
     {
         var numRowsToShow = FaiCollectionBuffers.Count % RowsPerPage == 0
             ? RowsPerPage
             : FaiCollectionBuffers.Count % RowsPerPage;
         CollectionsToShow = FaiCollectionBuffers.Skip(pageIndex * RowsPerPage).Take(numRowsToShow).ToList();
     }
     else
     {
         CollectionsToShow = FaiCollectionBuffers.Skip(pageIndex * RowsPerPage).Take(RowsPerPage).ToList();
     }
 }
 /// <summary>
 /// Remove a list of collection from FaiCollectionBuffers
 /// </summary>
 /// <param name="selectedCollections"></param>
 public void Remove(IList <IFaiCollection> selectedCollections)
 {
     foreach (var collection in selectedCollections)
     {
         FaiCollectionBuffers.Remove(collection);
     }
     OnPropertyChanged(nameof(CollectionCount));
     GenerateTotalYield();
     GenerateTotalDayAndTotalHours();
     CalculateTotalPages();
 }
        private void GenerateTotalDayAndTotalHours()
        {
            if (FaiCollectionBuffers == null || FaiCollectionBuffers.Count == 0)
            {
                TotalDays  = 0;
                TotalHours = 0;
                return;
            }

            var dates = FaiCollectionBuffers.Select(c => c.InspectionTime).ToArray();

            MaxDate = dates.Max();
            MinDate = dates.Min();
            var timeSpan = MaxDate - MinDate;

            TotalDays  = timeSpan.TotalDays;
            TotalHours = timeSpan.TotalHours;
        }
        private void GenerateTotalYield()
        {
            var yield = FaiCollectionBuffers.Count(collection => collection.Result == "OK") / (double)CollectionCount;

            TotalYield = $"{yield * 100 :F1}%";
        }