internal static void AssertEqual(this Company company, ICompanyDetailReturn companyDetailReturn)
        {
            if (company == null)
            {
                throw new ArgumentNullException("company");
            }
            if (companyDetailReturn == null)
            {
                throw new ArgumentNullException("companyDetailReturn");
            }

            company.AssertEqual((ICompanySummaryReturn)companyDetailReturn);
            company.Customer.AssertEqual(companyDetailReturn.Customer);
        }
        public IDictionary <string, object> BuildCompanyDetailsObject(ICompanyDetailReturn source)
        {
            if (source == null)
            {
                return(new Dictionary <string, object>());
            }

            var dictionary = new RouteValueDictionary(source);

            if (!source.CompanyTypes.Contains(CompanyType.Customer))
            {
                dictionary.Remove(_customerPropertiesNode.Name);
            }

            return(dictionary);
        }