Exemple #1
0
        private void collectCompanyReviews(CompanyOverview companyOverview, List <Review> reviews, ObservableCollection <CompanyReview> targetCollection)
        {
            CompanyReview companyReview = new CompanyReview();

            companyReview.companyOverview = companyOverview;
            companyReview.reviews         = (from n in reviews where n.companyId == companyOverview.id select n).ToList();
            companyOverview.calculateReviewStatistics(companyReview.reviews);
            if (companyReview.reviews.Count <= 0)
            {
                return;
            }
            targetCollection.Add(companyReview);

            List <IGrouping <string, Review> > reviewsByDepartment = (from n in companyReview.reviews group n by n.jobDepartment into d select d).ToList();

            foreach (IGrouping <string, Review> groupedReviews in reviewsByDepartment)
            {
                if (groupedReviews.ToList().Count <= 0)
                {
                    continue;
                }
                CompanyReview   companyReviewByDepartment   = new CompanyReview();
                CompanyOverview companyOverviewByDepartment = new CompanyOverview();
                companyOverviewByDepartment.id             = companyOverview.id;
                companyOverviewByDepartment.name           = companyOverview.name;
                companyOverviewByDepartment.logoPath       = companyOverview.logoPath;
                companyOverviewByDepartment.departmentName = groupedReviews.Key;

                companyReviewByDepartment.reviews = groupedReviews.ToList();

                companyOverviewByDepartment.calculateReviewStatistics(companyReviewByDepartment.reviews);
                companyReviewByDepartment.companyOverview = companyOverviewByDepartment;
                targetCollection.Add(companyReviewByDepartment);
            }
        }
        public async Task <ActionResult <CompanyOverview> > GetOverview(string symbol)
        {
            symbol = (symbol ?? "").ToUpper();
            CompanyOverview overview = await SrvOverview.GetItem(symbol);

            if (overview == null)
            {
                return(NotFound());
            }

            return(overview);
        }
        private void Cb_companyName_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox companyComboBox = sender as ComboBox;

            if (companyComboBox.SelectedItem != null)
            {
                CompanyOverview companyOverview = (CompanyOverview)companyComboBox.SelectedItem;
                if (companyOverview != null)
                {
                    Reviews reviews = XMLSerializerWrapper.ReadXml <Reviews>("data\\reviews.xml");
                    departmentForComboBox         = new ObservableCollection <string>((from n in reviews.reviews where n.companyId == companyOverview.id select n.jobDepartment).Distinct().OrderBy(x => x).ToList());
                    Cb_departmentName.ItemsSource = departmentForComboBox;
                }
            }
        }
        private void writeToReviewsXml()
        {
            Companies       companiesFromFile = XMLSerializerWrapper.ReadXml <Companies>("data\\companies.xml");
            CompanyOverview selectedCompany   = null;

            foreach (CompanyOverview eachCompany in companiesFromFile.companyDetails)
            {
                if (eachCompany.name.ToLower().Equals(currentReview.companyName.ToLower()))
                {
                    selectedCompany = eachCompany;
                }
            }

            if (selectedCompany != null)
            {
                currentReview.companyId = selectedCompany.id;
            }
            else
            {
                int newCompanyId = Properties.Settings.Default.next_company_id;
                currentReview.companyId = newCompanyId;
                CompanyOverview newCompanyOverview = new CompanyOverview()
                {
                    id = newCompanyId, name = currentReview.companyName
                };

                companiesFromFile.companyDetails.Add(newCompanyOverview);
                XMLSerializerWrapper.WriteXml <Companies>(companiesFromFile, "data\\companies.xml");

                Properties.Settings.Default.next_company_id = newCompanyId + 1;
                Properties.Settings.Default.Save();
            }

            Reviews reviews = XMLSerializerWrapper.ReadXml <Reviews>("data\\reviews.xml");

            currentReview.id = Properties.Settings.Default.next_company_id;
            Properties.Settings.Default.next_company_id = Properties.Settings.Default.next_company_id + 1;
            Properties.Settings.Default.Save();
            reviews.reviews.Add(currentReview);
            XMLSerializerWrapper.WriteXml <Reviews>(reviews, "data\\reviews.xml");
            MessageBox.Show("Review added successfully");
        }