void ValidateCompaniesVolume()
        {
            List <string> volumeCompanies = volumeChartBindingData.Select(c => c.CompanyName).ToList();
            List <string> exceptCompanies = companies.Except(volumeCompanies).ToList();

            for (int i = 0; i < volumeChartBindingData.Count; i++)
            {
                CompaniesVolumeData volumeData = volumeChartBindingData[i];
                if (!companies.Contains(volumeData.CompanyName))
                {
                    var res = watchLisBindingData.Where(c => exceptCompanies.Contains(c.CompanyName)).ToList();
                    if (res.Count > 0)
                    {
                        double maxVolume = res.Max(c => c.Volume);
                        CompanyTradingDataViewModel vm = watchLisBindingData.Where(c => c.Volume == maxVolume).Select(c => c).FirstOrDefault();
                        exceptCompanies.Remove(vm.CompanyName);
                        volumeChartBindingData[i] = new CompaniesVolumeData()
                        {
                            CompanyName = vm.CompanyName,
                            Volume      = (int)maxVolume
                        };
                    }
                }
            }
        }
 void SetVolumeOfSelectedCompany()
 {
     if (volumeChartBindingData.Count == 0 && SelectedCompany != null)
     {
         CompaniesVolumeData cvd = new CompaniesVolumeData();
         cvd.CompanyName = SelectedCompany.CompanyName;
         cvd.Volume      = (int)SelectedCompany.Volume;
         volumeChartBindingData.Add(cvd);
     }
     else if (SelectedCompany != null)
     {
         volumeChartBindingData[0].CompanyName = SelectedCompany.CompanyName;
         volumeChartBindingData[0].Volume      = (int)SelectedCompany.Volume;
     }
 }
 public CompaniesVolumeData[] GetCompaniesVolumeFromPeriod(DateTime start, DateTime end)
 {
     lock (sem) {
         int[] topIds = GetTopRatedCompanyIDs(start);
         CompaniesVolumeData[] result = new CompaniesVolumeData[topIds.Length];
         for (int i = 0; i < topIds.Length; i++)
         {
             int volume = GetStockData().Where(e => e.Date >= start && e.CompanyID == topIds[i]).Select(e => e.Volume).ToArray()[0];
             CompaniesVolumeData data = new CompaniesVolumeData()
             {
                 CompanyName = GetCompanyNameByID(topIds[i]), Volume = (int)volume
             };
             result[i] = data;
         }
         return(result);
     }
 }