Exemple #1
0
        public BillWriter(Company company, Client client, Bill bill, string billsDirectory)
        {
            fileManager = new FileManager();

            // Get objects associated with the bill and
            // insert them to same list so writing to the excel file is easier.
            billObjects = new List<object>()
            {
                company, client, bill
            };

            for (int i = 0; i < bill.Products.Count; i++)
            {
                billObjects.Add(bill.Products[i]);
            }

            billObjects = billObjects.OrderBy(o => o.GetType().Name).ToList();

            billName = bill.Name;
            clientName = client.Name;

            this.billsDirectory = billsDirectory;
        }
        private void AddToDatabase(Company company)
        {
            //CompanyWindowViewModel.Items.Add(company);
            companyRepository.InsertOrUpdate(company);
            Company updatedInfo = companyRepository.First(c => c.CompanyID == company.CompanyID);

            CompanyWindowViewModel.SelectedItem = updatedInfo;
            CompanyWindowViewModel.Items.Add(updatedInfo);

            companyRepository.Save();
        }
        private void RemoveFromDatabase(Company company)
        {
            Bill[] bills = billRepository.All
                .Where(b => b.CompanyID == CompanyWindowViewModel.SelectedItem.CompanyID)
                .ToArray();

            for (int i = 0; i < bills.Length; i++)
            {
                for (int j = 0; j < bills[i].Products.Count; j++)
                {
                    bills[i].Products.Remove(bills[i].Products[j]);

                    billRepository.InsertOrUpdate(bills[i]);
                    billRepository.Save();
                }

                billManager.RemoveKnownBill(bills[i].Name);

                billRepository.Delete(bills[i]);
                billRepository.Save();
            }

            CompanyWindowViewModel.Items.Remove(company);
            companyRepository.Delete(company);

            if (ReferenceEquals(company, CompanyWindowViewModel.SelectedItem))
            {
                CompanyWindowViewModel.SelectedItem = null;
            }

            companyRepository.Save();
        }
        private Company BuildCompany()
        {
            Dictionary<string, string> valuePairs = GetFieldInformations();

            Company company = new Company()
            {
                Name = valuePairs[NAME],
                CompanyID = valuePairs[ID],
                AccountNumber = valuePairs[ACCOUNTNUMBER],
                BankName = valuePairs[BANKNAME],
                BankBIC = valuePairs[BANKBIC],
                BillerName = valuePairs[BILLERNAME],
                Phone = valuePairs[PHONENUMBER],
                Email = valuePairs[EMAILADDRESS]
            };

            company.Address.Street = valuePairs[STREET];
            company.Address.City = valuePairs[CITY];
            company.Address.PostalCode = valuePairs[POSTALCODE];

            return company;
        }