ruby_odata 0.1.6 → 0.2.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/CHANGELOG.md +5 -0
  4. data/Gemfile +2 -0
  5. data/Guardfile +1 -1
  6. data/features/basic_auth.feature +13 -13
  7. data/features/cassettes/basic_auth_protected_resource.yml +22 -20
  8. data/features/cassettes/batch_request_additions.yml +26 -26
  9. data/features/cassettes/batch_request_deletes.yml +27 -27
  10. data/features/cassettes/batch_request_updates.yml +26 -26
  11. data/features/cassettes/clean_database_for_testing.yml +10 -10
  12. data/features/cassettes/cucumber_tags/basic_auth.yml +54 -163
  13. data/features/cassettes/cucumber_tags/batch_request.yml +229 -1118
  14. data/features/cassettes/cucumber_tags/complex_types.yml +81 -191
  15. data/features/cassettes/cucumber_tags/error_handling.yml +45 -33
  16. data/features/cassettes/cucumber_tags/query_builder.yml +555 -1248
  17. data/features/cassettes/cucumber_tags/service_manage.yml +216 -591
  18. data/features/cassettes/cucumber_tags/service_methods.yml +137 -412
  19. data/features/cassettes/cucumber_tags/ssl.yml +121 -117
  20. data/features/cassettes/cucumber_tags/type_conversion.yml +104 -170
  21. data/features/cassettes/service_manage_additions.yml +26 -28
  22. data/features/cassettes/service_manage_deletions.yml +21 -21
  23. data/features/cassettes/service_manage_deletions_2.yml +21 -21
  24. data/features/cassettes/unsecured_metadata.yml +14 -14
  25. data/features/service.feature +37 -37
  26. data/features/service_methods.feature +38 -38
  27. data/features/step_definitions/pickle_steps.rb +5 -5
  28. data/features/step_definitions/service_steps.rb +26 -26
  29. data/features/support/hooks.rb +3 -2
  30. data/features/support/vcr.rb +13 -13
  31. data/lib/ruby_odata.rb +4 -1
  32. data/lib/ruby_odata/association.rb +15 -8
  33. data/lib/ruby_odata/class_builder.rb +5 -1
  34. data/lib/ruby_odata/query_builder.rb +171 -173
  35. data/lib/ruby_odata/resource.rb +153 -0
  36. data/lib/ruby_odata/service.rb +30 -30
  37. data/lib/ruby_odata/version.rb +1 -1
  38. data/ruby_odata.gemspec +48 -43
  39. data/spec/association_spec.rb +15 -11
  40. data/spec/fixtures/decimal/metadata.xml +1 -0
  41. data/spec/fixtures/v4/edmx_metadata.xml +145 -0
  42. data/spec/fixtures/v4/result_categories.xml +0 -0
  43. data/spec/revised_service_spec.rb +16 -11
  44. data/spec/service_spec.rb +149 -114
  45. data/spec/service_v4_spec.rb +102 -0
  46. data/spec/spec_helper.rb +6 -1
  47. metadata +109 -32
  48. data/features/cassettes/cucumber_tags/service.yml +0 -234
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="utf-8"?><edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"><edmx:DataServices m:DataServiceVersion="1.0" m:MaxDataServiceVersion="3.0" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><Schema Namespace="DokladModel" xmlns="http://schemas.microsoft.com/ado/2009/11/edm"><EntityType Name="Agenda"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="ContactId" Type="Edm.Int32" /><Property Name="CurrencyId" Type="Edm.Int32" Nullable="false" /><Property Name="ConstantSymbolId" Type="Edm.Int32" /><Property Name="PaymentOptionId" Type="Edm.Int32" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="ActivationCode" Type="Edm.String" Nullable="false" MaxLength="30" FixedLength="false" Unicode="true" /><Property Name="IsVerified" Type="Edm.Boolean" Nullable="false" /><Property Name="DateCreated" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="DatePaidUntil" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="IsRegisteredForVat" Type="Edm.Boolean" Nullable="false" /><Property Name="PrefferedPrice" Type="Edm.Byte" Nullable="false" /><Property Name="PrefferedVatRate" Type="Edm.Byte" Nullable="false" /><Property Name="RoundingDifference" Type="Edm.Byte" Nullable="false" /><Property Name="DefaultInvoiceMaturity" Type="Edm.Int16" Nullable="false" /><Property Name="ItemsTextPrefix" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="ItemsTextSuffix" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="RegisterRecord" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="DateLastLogin" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="LastIpAddress" Type="Edm.String" Nullable="false" MaxLength="40" FixedLength="false" Unicode="false" /><Property Name="IsCopyForAccountant" Type="Edm.Boolean" Nullable="false" /><Property Name="IITemplateSubjectPrefix" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="IITemplate" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="CDTemplateSubjectPrefix" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="CDTemplate" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="LicenceType" Type="Edm.Byte" Nullable="false" /><Property Name="IsSetupCompleted" Type="Edm.Boolean" Nullable="false" /><Property Name="Version" Type="Edm.Int32" Nullable="false" /><Property Name="IsDeleted" Type="Edm.Boolean" Nullable="false" /><Property Name="Exported" Type="Edm.Byte" Nullable="false" /><Property Name="LogoId" Type="Edm.Int32" /><Property Name="StampId" Type="Edm.Int32" /><Property Name="IsSendReminder" Type="Edm.Boolean" Nullable="false" /><Property Name="ReminderTemplate" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="ReminderTemplateSubjectPrefix" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="ReminderDaysAfterMaturity" Type="Edm.Int32" Nullable="false" /><Property Name="ReminderMinValue" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="ProformaItemsPrefixText" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="ProformaItemsSuffixText" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="ProformaTemplateSubjectPrefix" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="ProformaTemplate" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="IsProformaTaxed" Type="Edm.Boolean" Nullable="false" /><Property Name="ReminderDaysBeforeMaturity" Type="Edm.Int16" Nullable="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="LoayalityCode" Type="Edm.String" Nullable="false" MaxLength="9" FixedLength="false" Unicode="true" /><Property Name="RecommenderCode" Type="Edm.String" Nullable="false" MaxLength="9" FixedLength="false" Unicode="true" /><Property Name="IsExchangeEnable" Type="Edm.Boolean" Nullable="false" /><Property Name="IsExchangeSaveToSentMail" Type="Edm.Boolean" Nullable="false" /><Property Name="ExchangeUser" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="ExchangePassword" Type="Edm.String" Nullable="false" MaxLength="32" FixedLength="false" Unicode="true" /><Property Name="ExchangeDomain" Type="Edm.String" Nullable="false" MaxLength="32" FixedLength="false" Unicode="true" /><Property Name="IsExchangeAdvancedSettings" Type="Edm.Boolean" Nullable="false" /><Property Name="ExchangeEmail" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="ExchangeServerAddress" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="IsReverseCharge" Type="Edm.Boolean" Nullable="false" /><Property Name="NextReminderIntervalInDays" Type="Edm.Int32" Nullable="false" /><Property Name="EmailSendOptions" Type="Edm.Byte" Nullable="false" /><Property Name="EmailUser" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="EmailPassword" Type="Edm.String" Nullable="false" MaxLength="96" FixedLength="false" Unicode="true" /><Property Name="EmailDomain" Type="Edm.String" Nullable="false" MaxLength="32" FixedLength="false" Unicode="true" /><Property Name="EmailSentMail" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="EmailServerAddress" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="IsEmailServerRequireVerification" Type="Edm.Boolean" Nullable="false" /><Property Name="EmailPort" Type="Edm.Int32" Nullable="false" /><Property Name="EmailSecurityType" Type="Edm.Byte" Nullable="false" /><Property Name="EmailSenderName" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="AccountantCompanyEmail" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" /><Property Name="DefaultReportColorHcId" Type="Edm.Int32" /><Property Name="DefaultReportColorId" Type="Edm.Int32" /><Property Name="ProformaDefaultReportColorHcId" Type="Edm.Int32" /><Property Name="ProformaDefaultReportColorId" Type="Edm.Int32" /><Property Name="CashVoucherDefaultReportColorHcId" Type="Edm.Int32" /><Property Name="CashVoucherDefaultReportColorId" Type="Edm.Int32" /><Property Name="CreditNoteTemplate" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="CreditNoteTemplateSubjectPrefix" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="ColorScheme" Type="Edm.Byte" Nullable="false" /><Property Name="SelfDefinedColor" Type="Edm.String" Nullable="false" MaxLength="7" FixedLength="true" Unicode="false" /><Property Name="OwnLogo" Type="Edm.Boolean" Nullable="false" /><Property Name="ArchiveRemovedEntries" Type="Edm.Boolean" Nullable="false" /><NavigationProperty Name="ConstantSymbol" Relationship="DokladModel.FK_Agenda_ConstantSymbol" ToRole="ConstantSymbol" FromRole="Agenda" /><NavigationProperty Name="Currency" Relationship="DokladModel.FK_Agenda_Currency" ToRole="Currency" FromRole="Agenda" /><NavigationProperty Name="PaymentOption" Relationship="DokladModel.FK_Agenda_PaymentOption" ToRole="PaymentOption" FromRole="Agenda" /><NavigationProperty Name="BankAccounts" Relationship="DokladModel.FK_BankAccount_Agenda" ToRole="BankAccount" FromRole="Agenda" /><NavigationProperty Name="DocumentAddresses" Relationship="DokladModel.FK_DocumentAddress_Agenda" ToRole="DocumentAddress" FromRole="Agenda" /><NavigationProperty Name="Events" Relationship="DokladModel.FK_Event_Agenda" ToRole="Event" FromRole="Agenda" /><NavigationProperty Name="IssuedInvoices" Relationship="DokladModel.FK_IssuedInvoice_Agenda" ToRole="IssuedInvoice" FromRole="Agenda" /><NavigationProperty Name="IssuedInvoiceItems" Relationship="DokladModel.FK_IssuedInvoiceItem_Agenda" ToRole="IssuedInvoiceItem" FromRole="Agenda" /><NavigationProperty Name="PriceListItems" Relationship="DokladModel.FK_PriceListItem_Agenda" ToRole="PriceListItem" FromRole="Agenda" /><NavigationProperty Name="Contacts" Relationship="DokladModel.AgendaContact" ToRole="Contact" FromRole="Agenda" /><NavigationProperty Name="CashVoucherDefaultReportColor" Relationship="DokladModel.FK_Agenda_CashVoucherDefaultReportColor" ToRole="ReportColor" FromRole="Agenda" /><NavigationProperty Name="CashVoucherDefaultReportColorHc" Relationship="DokladModel.FK_Agenda_CashVoucherDefaultReportColorHc" ToRole="ReportColor" FromRole="Agenda" /><NavigationProperty Name="DefaultReportColor" Relationship="DokladModel.FK_Agenda_DefaultReportColor" ToRole="ReportColor" FromRole="Agenda" /><NavigationProperty Name="DefaultReportColorHc" Relationship="DokladModel.FK_Agenda_DefaultReportColorHc" ToRole="ReportColor" FromRole="Agenda" /><NavigationProperty Name="ProformaDefaultReportColor" Relationship="DokladModel.FK_Agenda_ProformaDefaultReportColor" ToRole="ReportColor" FromRole="Agenda" /><NavigationProperty Name="ProformaDefaultReportColorHc" Relationship="DokladModel.FK_Agenda_ProformaDefaultReportColorHc" ToRole="ReportColor" FromRole="Agenda" /><NavigationProperty Name="ReportColor" Relationship="DokladModel.FK_ReportColor_Agenda" ToRole="ReportColor" FromRole="Agenda" /></EntityType><EntityType Name="Bank"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="CountryId" Type="Edm.Int32" Nullable="false" /><Property Name="Code" Type="Edm.String" Nullable="false" MaxLength="10" FixedLength="false" Unicode="false" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="Swift" Type="Edm.String" Nullable="false" MaxLength="11" FixedLength="false" Unicode="false" /><Property Name="NumberCode" Type="Edm.String" Nullable="false" MaxLength="4" FixedLength="false" Unicode="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="Country" Relationship="DokladModel.FK_Bank_Country" ToRole="Country" FromRole="Bank" /><NavigationProperty Name="BankAccounts" Relationship="DokladModel.FK_BankAccount_Bank" ToRole="BankAccount" FromRole="Bank" /></EntityType><EntityType Name="BankAccount"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="AgendaId" Type="Edm.Int32" Nullable="false" /><Property Name="ContactId" Type="Edm.Int32" Nullable="false" /><Property Name="BankId" Type="Edm.Int32" /><Property Name="CurrencyId" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="AccountNumber" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" /><Property Name="Iban" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" /><Property Name="IsDefault" Type="Edm.Boolean" Nullable="false" /><Property Name="IsDeleted" Type="Edm.Boolean" Nullable="false" /><Property Name="Exported" Type="Edm.Byte" Nullable="false" /><Property Name="Version" Type="Edm.Int32" Nullable="false" /><Property Name="Swift" Type="Edm.String" Nullable="false" MaxLength="11" FixedLength="false" Unicode="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="Agendum" Relationship="DokladModel.FK_BankAccount_Agenda" ToRole="Agenda" FromRole="BankAccount" /><NavigationProperty Name="Bank" Relationship="DokladModel.FK_BankAccount_Bank" ToRole="Bank" FromRole="BankAccount" /><NavigationProperty Name="Contact" Relationship="DokladModel.FK_BankAccount_Contact" ToRole="Contact" FromRole="BankAccount" /><NavigationProperty Name="Currency" Relationship="DokladModel.FK_BankAccount_Currency" ToRole="Currency" FromRole="BankAccount" /></EntityType><EntityType Name="ConstantSymbol"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="Code" Type="Edm.String" Nullable="false" MaxLength="4" FixedLength="false" Unicode="false" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="IsDefault" Type="Edm.Boolean" Nullable="false" /><Property Name="CountryId" Type="Edm.Int32" Nullable="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="Agenda" Relationship="DokladModel.FK_Agenda_ConstantSymbol" ToRole="Agenda" FromRole="ConstantSymbol" /><NavigationProperty Name="Country" Relationship="DokladModel.FK_ConstantSymbol_Country" ToRole="Country" FromRole="ConstantSymbol" /><NavigationProperty Name="IssuedInvoices" Relationship="DokladModel.FK_IssuedInvoice_ConstantSymbol" ToRole="IssuedInvoice" FromRole="ConstantSymbol" /></EntityType><EntityType Name="Contact"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="AgendaId" Type="Edm.Int32" Nullable="false" /><Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="200" FixedLength="false" Unicode="true" /><Property Name="Firstname" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="Surname" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="Street" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="City" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="PostalCode" Type="Edm.String" Nullable="false" MaxLength="11" FixedLength="false" Unicode="false" /><Property Name="Email" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" /><Property Name="Phone" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="Mobile" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="Fax" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="Www" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="IdentificationNumber" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="VatIdentificationNumber" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="IsDeleted" Type="Edm.Boolean" Nullable="false" /><Property Name="Exported" Type="Edm.Byte" Nullable="false" /><Property Name="CountryId" Type="Edm.Int32" /><Property Name="Version" Type="Edm.Int32" Nullable="false" /><Property Name="Title" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="AddressIdg" Type="Edm.Guid" Nullable="false" /><Property Name="CreditCheck" Type="Edm.Int32" Nullable="false" /><Property Name="IsSendReminder" Type="Edm.Boolean" Nullable="false" /><Property Name="VatIdentificationNumberSk" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="DiscountPercentage" Type="Edm.Decimal" Nullable="false" Precision="4" Scale="2" /><NavigationProperty Name="BankAccounts" Relationship="DokladModel.FK_BankAccount_Contact" ToRole="BankAccount" FromRole="Contact" /><NavigationProperty Name="Country" Relationship="DokladModel.FK_Contact_Country" ToRole="Country" FromRole="Contact" /><NavigationProperty Name="IssuedInvoices" Relationship="DokladModel.FK_IssuedInvoice_Contact" ToRole="IssuedInvoice" FromRole="Contact" /></EntityType><EntityType Name="Country"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" /><Property Name="CurrencyId" Type="Edm.Int32" Nullable="false" /><Property Name="ExchangeListId" Type="Edm.Int32" Nullable="false" /><Property Name="Code" Type="Edm.String" Nullable="false" MaxLength="2" FixedLength="false" Unicode="false" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="NameEnglish" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="IsDefault" Type="Edm.Boolean" Nullable="false" /><Property Name="Priority" Type="Edm.Int32" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="Banks" Relationship="DokladModel.FK_Bank_Country" ToRole="Bank" FromRole="Country" /><NavigationProperty Name="ConstantSymbols" Relationship="DokladModel.FK_ConstantSymbol_Country" ToRole="ConstantSymbol" FromRole="Country" /><NavigationProperty Name="Contacts" Relationship="DokladModel.FK_Contact_Country" ToRole="Contact" FromRole="Country" /><NavigationProperty Name="Currency" Relationship="DokladModel.FK_Country_Currency" ToRole="Currency" FromRole="Country" /><NavigationProperty Name="VatRates" Relationship="DokladModel.FK_VatRate_Country" ToRole="VatRate" FromRole="Country" /><NavigationProperty Name="Events" Relationship="DokladModel.FK_Event_Country" ToRole="Event" FromRole="Country" /></EntityType><EntityType Name="Currency"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="Code" Type="Edm.String" Nullable="false" MaxLength="10" FixedLength="false" Unicode="false" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="Symbol" Type="Edm.String" Nullable="false" MaxLength="5" FixedLength="false" Unicode="true" /><Property Name="Priority" Type="Edm.Int32" Nullable="false" /><Property Name="Country" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="Agenda" Relationship="DokladModel.FK_Agenda_Currency" ToRole="Agenda" FromRole="Currency" /><NavigationProperty Name="BankAccounts" Relationship="DokladModel.FK_BankAccount_Currency" ToRole="BankAccount" FromRole="Currency" /><NavigationProperty Name="Countries" Relationship="DokladModel.FK_Country_Currency" ToRole="Country" FromRole="Currency" /><NavigationProperty Name="ExchangeRates" Relationship="DokladModel.FK_ExchangeRate_Currency" ToRole="ExchangeRate" FromRole="Currency" /><NavigationProperty Name="IssuedInvoices" Relationship="DokladModel.FK_IssuedInvoice_Currency" ToRole="IssuedInvoice" FromRole="Currency" /><NavigationProperty Name="PriceListItems" Relationship="DokladModel.FK_PriceListItem_Currency" ToRole="PriceListItem" FromRole="Currency" /></EntityType><EntityType Name="DocumentAddress"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="AgendaId" Type="Edm.Int32" Nullable="false" /><Property Name="NickName" Type="Edm.String" Nullable="false" MaxLength="200" FixedLength="false" Unicode="true" /><Property Name="Firstname" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="Surname" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="Street" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="PostalCode" Type="Edm.String" Nullable="false" MaxLength="11" FixedLength="false" Unicode="false" /><Property Name="Country" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="Email" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" /><Property Name="Phone" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="Mobile" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="Fax" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="Www" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="IdentificationNumber" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="Bank" Type="Edm.String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" /><Property Name="BankNumberCode" Type="Edm.String" Nullable="false" MaxLength="4" FixedLength="false" Unicode="false" /><Property Name="AccountNumber" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" /><Property Name="Iban" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" /><Property Name="IsDeleted" Type="Edm.Boolean" Nullable="false" /><Property Name="Exported" Type="Edm.Byte" Nullable="false" /><Property Name="Version" Type="Edm.Int32" Nullable="false" /><Property Name="Title" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="Swift" Type="Edm.String" Nullable="false" MaxLength="11" FixedLength="false" Unicode="false" /><Property Name="CountryId" Type="Edm.Int32" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="City" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="VatIdentificationNumber" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="VatIdentificationNumberSk" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><NavigationProperty Name="Agendum" Relationship="DokladModel.FK_DocumentAddress_Agenda" ToRole="Agenda" FromRole="DocumentAddress" /><NavigationProperty Name="MyIssuedInvoices" Relationship="DokladModel.FK_MyCompanyDocumentAdrress_DocumentAddress" ToRole="IssuedInvoice" FromRole="DocumentAddress" /><NavigationProperty Name="PurchaserIssuedInvoices" Relationship="DokladModel.FK_PurchaserDocumentAddress_DocumentAddress" ToRole="IssuedInvoice" FromRole="DocumentAddress" /></EntityType><EntityType Name="Event"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="EventCategoryId" Type="Edm.Int32" Nullable="false" /><Property Name="AgendaId" Type="Edm.Int32" /><Property Name="UserId" Type="Edm.Int32" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="Description" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="DateFrom" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="DateTo" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="CountryId" Type="Edm.Int32" Nullable="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="Agendum" Relationship="DokladModel.FK_Event_Agenda" ToRole="Agenda" FromRole="Event" /><NavigationProperty Name="EventCategory" Relationship="DokladModel.FK_Event_Category" ToRole="EventCategory" FromRole="Event" /><NavigationProperty Name="Country" Relationship="DokladModel.FK_Event_Country" ToRole="Country" FromRole="Event" /></EntityType><EntityType Name="EventCategory"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="CountryId" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="Type" Type="Edm.Int16" Nullable="false" /><Property Name="Color" Type="Edm.String" Nullable="false" MaxLength="12" FixedLength="false" Unicode="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="Events" Relationship="DokladModel.FK_Event_Category" ToRole="Event" FromRole="EventCategory" /></EntityType><EntityType Name="ExchangeList"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="ExchangeRates" Relationship="DokladModel.ExchangeListExchangeRate" ToRole="ExchangeRate" FromRole="ExchangeList" /></EntityType><EntityType Name="ExchangeRate"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="CurrencyId" Type="Edm.Int32" Nullable="false" /><Property Name="ExchangeListId" Type="Edm.Int32" /><Property Name="Date" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="Source" Type="Edm.Int32" Nullable="false" /><Property Name="Amount" Type="Edm.Decimal" Nullable="false" Precision="9" Scale="4" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="ExchangeRateValue" Type="Edm.Decimal" Nullable="false" Precision="9" Scale="4" /><NavigationProperty Name="Currency" Relationship="DokladModel.FK_ExchangeRate_Currency" ToRole="Currency" FromRole="ExchangeRate" /><NavigationProperty Name="ExchangeList" Relationship="DokladModel.ExchangeListExchangeRate" ToRole="ExchangeList" FromRole="ExchangeRate" /></EntityType><EntityType Name="IssuedInvoice"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="AgendaId" Type="Edm.Int32" Nullable="false" /><Property Name="PurchaserId" Type="Edm.Int32" /><Property Name="PurchaserDocumentAddressId" Type="Edm.Int32" Nullable="false" /><Property Name="MyCompanyDocumentAdrressId" Type="Edm.Int32" Nullable="false" /><Property Name="CurrencyId" Type="Edm.Int32" Nullable="false" /><Property Name="ConstantSymbolId" Type="Edm.Int32" /><Property Name="PaymentOptionId" Type="Edm.Int32" /><Property Name="DocumentNumber" Type="Edm.String" Nullable="false" MaxLength="10" FixedLength="false" Unicode="false" /><Property Name="DocumentSerialNumber" Type="Edm.Int32" Nullable="false" /><Property Name="VariableSymbol" Type="Edm.String" Nullable="false" MaxLength="10" FixedLength="false" Unicode="false" /><Property Name="Description" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="DateOfIssue" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="Maturity" Type="Edm.Int16" Nullable="false" /><Property Name="DateOfMaturity" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="DateOfTaxing" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="TotalWithoutVat" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalWithVat" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalVat" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalWithoutVatHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalWithVatHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalVatHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="RoundingDifference" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="BaseTaxZeroRate" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="BaseTaxZeroRateHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="BaseTaxReducedRate1" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="BaseTaxReducedRate1Hc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TaxReducedRate1" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TaxReducedRate1Hc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalReducedRate1" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalReducedRate1Hc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="BaseTaxReducedRate2" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="BaseTaxReducedRate2Hc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TaxReducedRate2" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TaxReducedRate2Hc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalReducedRate2" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalReducedRate2Hc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="BaseTaxBasicRate" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="BaseTaxBasicRateHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TaxBasicRate" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TaxBasicRateHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalBasicRate" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalBasicRateHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="IsPaid" Type="Edm.Boolean" Nullable="false" /><Property Name="DateOfPayment" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="DateOfCancellation" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="Note" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="Status" Type="Edm.Byte" Nullable="false" /><Property Name="IsDeleted" Type="Edm.Boolean" Nullable="false" /><Property Name="Exported" Type="Edm.Byte" Nullable="false" /><Property Name="VatRateZero" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="VatRateReduced1" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="VatRateReduced2" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="VatRateBasic" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="Version" Type="Edm.Int32" Nullable="false" /><Property Name="ItemsTextPrefix" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="ItemsTextSuffix" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="IsSentToPurchaser" Type="Edm.Boolean" Nullable="false" /><Property Name="IsSentToAccountant" Type="Edm.Boolean" Nullable="false" /><Property Name="DateOfLastReminder" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="RemindersCount" Type="Edm.Int32" Nullable="false" /><Property Name="ExchangeRate" Type="Edm.Decimal" Nullable="false" Precision="9" Scale="4" /><Property Name="ExchangeRateAmount" Type="Edm.Decimal" Nullable="false" Precision="9" Scale="4" /><Property Name="OrderNumber" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="AccountedByInvoiceId" Type="Edm.Int32" /><Property Name="DocumentType" Type="Edm.Byte" Nullable="false" /><Property Name="IsProformaTaxed" Type="Edm.Boolean" Nullable="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="CashVoucherNumber" Type="Edm.String" Nullable="false" MaxLength="10" FixedLength="false" Unicode="false" /><Property Name="CashVoucherSerialNumber" Type="Edm.Int32" Nullable="false" /><Property Name="DateOfAccountingEvent" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="PaymentSessionId" Type="Edm.Int64" Nullable="false" /><Property Name="CopyCount" Type="Edm.Int32" Nullable="false" /><Property Name="ReportColorId" Type="Edm.Int32" /><Property Name="CashVoucherReportColorId" Type="Edm.Int32" /><Property Name="DateOfImport" Type="Edm.DateTime" Precision="3" /><Property Name="ImportType" Type="Edm.Byte" Nullable="false" /><Property Name="CreditNoteForDocumentId" Type="Edm.Int32" /><Property Name="DateOfVatClaim" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="NoteForCreditNote" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="CreditNoteReason" Type="Edm.String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" /><Property Name="DateOfIssueTaxReceiptForPayment" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="PaymentStatus" Type="Edm.Byte" Nullable="false" /><NavigationProperty Name="Agendum" Relationship="DokladModel.FK_IssuedInvoice_Agenda" ToRole="Agenda" FromRole="IssuedInvoice" /><NavigationProperty Name="ConstantSymbol" Relationship="DokladModel.FK_IssuedInvoice_ConstantSymbol" ToRole="ConstantSymbol" FromRole="IssuedInvoice" /><NavigationProperty Name="Purchaser" Relationship="DokladModel.FK_IssuedInvoice_Contact" ToRole="Contact" FromRole="IssuedInvoice" /><NavigationProperty Name="Currency" Relationship="DokladModel.FK_IssuedInvoice_Currency" ToRole="Currency" FromRole="IssuedInvoice" /><NavigationProperty Name="MyCompanyDocumentAddress" Relationship="DokladModel.FK_MyCompanyDocumentAdrress_DocumentAddress" ToRole="DocumentAddress" FromRole="IssuedInvoice" /><NavigationProperty Name="PurchaserDocumentAddress" Relationship="DokladModel.FK_PurchaserDocumentAddress_DocumentAddress" ToRole="DocumentAddress" FromRole="IssuedInvoice" /><NavigationProperty Name="ProformaList" Relationship="DokladModel.FK_IssuedInvoice_AccountedByInvoice" ToRole="IssuedInvoice1" FromRole="IssuedInvoice" /><NavigationProperty Name="AccountedIssuedInvoice" Relationship="DokladModel.FK_IssuedInvoice_AccountedByInvoice" ToRole="IssuedInvoice" FromRole="IssuedInvoice1" /><NavigationProperty Name="PaymentOption" Relationship="DokladModel.FK_IssuedInvoice_PaymentOption" ToRole="PaymentOption" FromRole="IssuedInvoice" /><NavigationProperty Name="IssuedInvoiceItems" Relationship="DokladModel.FK_IssuedInvoiceItem_Invoice" ToRole="IssuedInvoiceItem" FromRole="IssuedInvoice" /><NavigationProperty Name="CashVoucherReportColor" Relationship="DokladModel.FK_IssuedInvoice_CashVoucherReportColor" ToRole="ReportColor" FromRole="IssuedInvoice" /><NavigationProperty Name="ReportColor" Relationship="DokladModel.FK_IssuedInvoice_ReportColor" ToRole="ReportColor" FromRole="IssuedInvoice" /><NavigationProperty Name="CreditNoteList" Relationship="DokladModel.FK_CreditNoteIssuedInvoice_IssuedInvoice" ToRole="IssuedInvoice1" FromRole="IssuedInvoice" /><NavigationProperty Name="DocumentOfCreditNote" Relationship="DokladModel.FK_CreditNoteIssuedInvoice_IssuedInvoice" ToRole="IssuedInvoice" FromRole="IssuedInvoice1" /></EntityType><EntityType Name="IssuedInvoiceItem"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="AgendaId" Type="Edm.Int32" Nullable="false" /><Property Name="InvoiceId" Type="Edm.Int32" Nullable="false" /><Property Name="Code" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="true" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="200" FixedLength="false" Unicode="true" /><Property Name="Unit" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="true" /><Property Name="Amount" Type="Edm.Decimal" Nullable="false" Precision="18" Scale="4" /><Property Name="PriceType" Type="Edm.Byte" Nullable="false" /><Property Name="PriceUnitWithVat" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="PriceUnitWithoutVat" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="PriceUnitVat" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="PriceUnitWithVatHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="PriceUnitVatHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="PriceUnitWithoutVatHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="VatRate" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="PriceTotalWithVat" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="PriceTotalWithoutVat" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="PriceTotalWithVatHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="PriceTotalWithoutVatHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="VatTotal" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="VatTotalHc" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="IsDeleted" Type="Edm.Boolean" Nullable="false" /><Property Name="Exported" Type="Edm.Byte" Nullable="false" /><Property Name="VatRateType" Type="Edm.Byte" Nullable="false" /><Property Name="Version" Type="Edm.Int32" Nullable="false" /><Property Name="IsEditFlag" Type="Edm.Boolean" Nullable="false" /><Property Name="Price" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="TotalPrice" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="Rank" Type="Edm.Int32" Nullable="false" /><Property Name="ItemType" Type="Edm.Byte" Nullable="false" /><Property Name="IsRoundedItem" Type="Edm.Boolean" Nullable="false" /><Property Name="IsTaxMovement" Type="Edm.Boolean" Nullable="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="Agendum" Relationship="DokladModel.FK_IssuedInvoiceItem_Agenda" ToRole="Agenda" FromRole="IssuedInvoiceItem" /><NavigationProperty Name="IssuedInvoice" Relationship="DokladModel.FK_IssuedInvoiceItem_Invoice" ToRole="IssuedInvoice" FromRole="IssuedInvoiceItem" /></EntityType><EntityType Name="PaymentOption"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="Code" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="false" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="true" /><Property Name="IsDefault" Type="Edm.Boolean" Nullable="false" /><Property Name="IsAutoPayment" Type="Edm.Boolean" Nullable="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="IsRounded" Type="Edm.Boolean" Nullable="false" /><NavigationProperty Name="Agenda" Relationship="DokladModel.FK_Agenda_PaymentOption" ToRole="Agenda" FromRole="PaymentOption" /><NavigationProperty Name="IssuedInvoices" Relationship="DokladModel.FK_IssuedInvoice_PaymentOption" ToRole="IssuedInvoice" FromRole="PaymentOption" /></EntityType><EntityType Name="PriceListItem"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="AgendaId" Type="Edm.Int32" Nullable="false" /><Property Name="CurrencyId" Type="Edm.Int32" Nullable="false" /><Property Name="Code" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="true" /><Property Name="Name" Type="Edm.String" Nullable="false" MaxLength="200" FixedLength="false" Unicode="true" /><Property Name="Unit" Type="Edm.String" Nullable="false" MaxLength="20" FixedLength="false" Unicode="true" /><Property Name="Price" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="PriceType" Type="Edm.Byte" Nullable="false" /><Property Name="IsDeleted" Type="Edm.Boolean" Nullable="false" /><Property Name="Exported" Type="Edm.Byte" Nullable="false" /><Property Name="Amount" Type="Edm.Decimal" Nullable="false" Precision="18" Scale="4" /><Property Name="Version" Type="Edm.Int32" Nullable="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="VatRateType" Type="Edm.Byte" Nullable="false" /><NavigationProperty Name="Agendum" Relationship="DokladModel.FK_PriceListItem_Agenda" ToRole="Agenda" FromRole="PriceListItem" /><NavigationProperty Name="Currency" Relationship="DokladModel.FK_PriceListItem_Currency" ToRole="Currency" FromRole="PriceListItem" /></EntityType><EntityType Name="VatRate"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="Name" Type="Edm.String" MaxLength="50" FixedLength="false" Unicode="true" /><Property Name="RateType" Type="Edm.Byte" Nullable="false" /><Property Name="Rate" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="DateValidityFrom" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="DateValidityTo" Type="Edm.DateTime" Nullable="false" Precision="3" /><Property Name="CountryId" Type="Edm.Int32" Nullable="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="Country" Relationship="DokladModel.FK_VatRate_Country" ToRole="Country" FromRole="VatRate" /></EntityType><EntityType Name="ReportColor"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" p6:StoreGeneratedPattern="Identity" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="AgendaId" Type="Edm.Int32" Nullable="false" /><Property Name="ReportLanguageId" Type="Edm.Int32" Nullable="false" /><Property Name="Color" Type="Edm.String" Nullable="false" MaxLength="7" FixedLength="false" Unicode="false" /><Property Name="DateLastChange" Type="Edm.DateTime" Nullable="false" Precision="3" /><NavigationProperty Name="AgendaCashVoucherDefaultReportColor" Relationship="DokladModel.FK_Agenda_CashVoucherDefaultReportColor" ToRole="Agenda" FromRole="ReportColor" /><NavigationProperty Name="AgendaCashVoucherDefaultReportColorHc" Relationship="DokladModel.FK_Agenda_CashVoucherDefaultReportColorHc" ToRole="Agenda" FromRole="ReportColor" /><NavigationProperty Name="AgendaDefaultReportColor" Relationship="DokladModel.FK_Agenda_DefaultReportColor" ToRole="Agenda" FromRole="ReportColor" /><NavigationProperty Name="AgendaDefaultReportColorHc" Relationship="DokladModel.FK_Agenda_DefaultReportColorHc" ToRole="Agenda" FromRole="ReportColor" /><NavigationProperty Name="AgendaProformaDefaultReportColor" Relationship="DokladModel.FK_Agenda_ProformaDefaultReportColor" ToRole="Agenda" FromRole="ReportColor" /><NavigationProperty Name="AgendaProformaDefaultReportColorHc" Relationship="DokladModel.FK_Agenda_ProformaDefaultReportColorHc" ToRole="Agenda" FromRole="ReportColor" /><NavigationProperty Name="IssuedInvoicesCashVoucherReportColor" Relationship="DokladModel.FK_IssuedInvoice_CashVoucherReportColor" ToRole="IssuedInvoice" FromRole="ReportColor" /><NavigationProperty Name="IssuedInvoicesReportColor" Relationship="DokladModel.FK_IssuedInvoice_ReportColor" ToRole="IssuedInvoice" FromRole="ReportColor" /><NavigationProperty Name="Agendum" Relationship="DokladModel.FK_ReportColor_Agenda" ToRole="Agenda" FromRole="ReportColor" /></EntityType><ComplexType Name="SummaryAgenda"><Property Name="Contacts" Type="Edm.Int32" Nullable="false" /><Property Name="IssuedInvoices" Type="Edm.Int32" Nullable="false" /><Property Name="PriceListItems" Type="Edm.Int32" Nullable="false" /></ComplexType><ComplexType Name="SummaryQuarter"><Property Name="Title" Type="Edm.String" Nullable="false" /><Property Name="Billed" Type="Edm.Decimal" Nullable="false" /><Property Name="TotalPaid" Type="Edm.Decimal" Nullable="false" /><Property Name="TotalUnPaid" Type="Edm.Decimal" Nullable="false" /><Property Name="Rank" Type="Edm.Int32" Nullable="false" /></ComplexType><ComplexType Name="SummaryTopPartner"><Property Name="Name" Type="Edm.String" Nullable="false" /><Property Name="TotalWithVatHc" Type="Edm.Decimal" Nullable="false" /><Property Name="ContactId" Type="Edm.Int32" Nullable="false" /></ComplexType><Association Name="FK_Agenda_ConstantSymbol"><End Type="DokladModel.ConstantSymbol" Role="ConstantSymbol" Multiplicity="0..1" /><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="*" /><ReferentialConstraint><Principal Role="ConstantSymbol"><PropertyRef Name="Id" /></Principal><Dependent Role="Agenda"><PropertyRef Name="ConstantSymbolId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Agenda_Currency"><End Type="DokladModel.Currency" Role="Currency" Multiplicity="1" /><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="*" /><ReferentialConstraint><Principal Role="Currency"><PropertyRef Name="Id" /></Principal><Dependent Role="Agenda"><PropertyRef Name="CurrencyId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Agenda_PaymentOption"><End Type="DokladModel.PaymentOption" Role="PaymentOption" Multiplicity="0..1" /><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="*" /><ReferentialConstraint><Principal Role="PaymentOption"><PropertyRef Name="Id" /></Principal><Dependent Role="Agenda"><PropertyRef Name="PaymentOptionId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_BankAccount_Agenda"><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="1" /><End Type="DokladModel.BankAccount" Role="BankAccount" Multiplicity="*" /><ReferentialConstraint><Principal Role="Agenda"><PropertyRef Name="Id" /></Principal><Dependent Role="BankAccount"><PropertyRef Name="AgendaId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_DocumentAddress_Agenda"><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="1" /><End Type="DokladModel.DocumentAddress" Role="DocumentAddress" Multiplicity="*" /><ReferentialConstraint><Principal Role="Agenda"><PropertyRef Name="Id" /></Principal><Dependent Role="DocumentAddress"><PropertyRef Name="AgendaId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Event_Agenda"><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="0..1" /><End Type="DokladModel.Event" Role="Event" Multiplicity="*" /><ReferentialConstraint><Principal Role="Agenda"><PropertyRef Name="Id" /></Principal><Dependent Role="Event"><PropertyRef Name="AgendaId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_IssuedInvoice_Agenda"><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="*" /><ReferentialConstraint><Principal Role="Agenda"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice"><PropertyRef Name="AgendaId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_IssuedInvoiceItem_Agenda"><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="1" /><End Type="DokladModel.IssuedInvoiceItem" Role="IssuedInvoiceItem" Multiplicity="*" /><ReferentialConstraint><Principal Role="Agenda"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoiceItem"><PropertyRef Name="AgendaId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_PriceListItem_Agenda"><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="1" /><End Type="DokladModel.PriceListItem" Role="PriceListItem" Multiplicity="*" /><ReferentialConstraint><Principal Role="Agenda"><PropertyRef Name="Id" /></Principal><Dependent Role="PriceListItem"><PropertyRef Name="AgendaId" /></Dependent></ReferentialConstraint></Association><Association Name="AgendaContact"><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="1" /><End Type="DokladModel.Contact" Role="Contact" Multiplicity="*" /><ReferentialConstraint><Principal Role="Agenda"><PropertyRef Name="Id" /></Principal><Dependent Role="Contact"><PropertyRef Name="AgendaId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Agenda_CashVoucherDefaultReportColor"><End Type="DokladModel.ReportColor" Role="ReportColor" Multiplicity="0..1" /><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="*" /><ReferentialConstraint><Principal Role="ReportColor"><PropertyRef Name="Id" /></Principal><Dependent Role="Agenda"><PropertyRef Name="CashVoucherDefaultReportColorId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Agenda_CashVoucherDefaultReportColorHc"><End Type="DokladModel.ReportColor" Role="ReportColor" Multiplicity="0..1" /><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="*" /><ReferentialConstraint><Principal Role="ReportColor"><PropertyRef Name="Id" /></Principal><Dependent Role="Agenda"><PropertyRef Name="CashVoucherDefaultReportColorHcId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Agenda_DefaultReportColor"><End Type="DokladModel.ReportColor" Role="ReportColor" Multiplicity="0..1" /><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="*" /><ReferentialConstraint><Principal Role="ReportColor"><PropertyRef Name="Id" /></Principal><Dependent Role="Agenda"><PropertyRef Name="DefaultReportColorId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Agenda_DefaultReportColorHc"><End Type="DokladModel.ReportColor" Role="ReportColor" Multiplicity="0..1" /><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="*" /><ReferentialConstraint><Principal Role="ReportColor"><PropertyRef Name="Id" /></Principal><Dependent Role="Agenda"><PropertyRef Name="DefaultReportColorHcId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Agenda_ProformaDefaultReportColor"><End Type="DokladModel.ReportColor" Role="ReportColor" Multiplicity="0..1" /><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="*" /><ReferentialConstraint><Principal Role="ReportColor"><PropertyRef Name="Id" /></Principal><Dependent Role="Agenda"><PropertyRef Name="ProformaDefaultReportColorId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Agenda_ProformaDefaultReportColorHc"><End Type="DokladModel.ReportColor" Role="ReportColor" Multiplicity="0..1" /><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="*" /><ReferentialConstraint><Principal Role="ReportColor"><PropertyRef Name="Id" /></Principal><Dependent Role="Agenda"><PropertyRef Name="ProformaDefaultReportColorHcId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_ReportColor_Agenda"><End Type="DokladModel.Agenda" Role="Agenda" Multiplicity="1" /><End Type="DokladModel.ReportColor" Role="ReportColor" Multiplicity="*" /><ReferentialConstraint><Principal Role="Agenda"><PropertyRef Name="Id" /></Principal><Dependent Role="ReportColor"><PropertyRef Name="AgendaId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Bank_Country"><End Type="DokladModel.Country" Role="Country" Multiplicity="1" /><End Type="DokladModel.Bank" Role="Bank" Multiplicity="*" /><ReferentialConstraint><Principal Role="Country"><PropertyRef Name="Id" /></Principal><Dependent Role="Bank"><PropertyRef Name="CountryId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_BankAccount_Bank"><End Type="DokladModel.Bank" Role="Bank" Multiplicity="0..1" /><End Type="DokladModel.BankAccount" Role="BankAccount" Multiplicity="*" /><ReferentialConstraint><Principal Role="Bank"><PropertyRef Name="Id" /></Principal><Dependent Role="BankAccount"><PropertyRef Name="BankId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_BankAccount_Contact"><End Type="DokladModel.Contact" Role="Contact" Multiplicity="1" /><End Type="DokladModel.BankAccount" Role="BankAccount" Multiplicity="*" /><ReferentialConstraint><Principal Role="Contact"><PropertyRef Name="Id" /></Principal><Dependent Role="BankAccount"><PropertyRef Name="ContactId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_BankAccount_Currency"><End Type="DokladModel.Currency" Role="Currency" Multiplicity="1" /><End Type="DokladModel.BankAccount" Role="BankAccount" Multiplicity="*" /><ReferentialConstraint><Principal Role="Currency"><PropertyRef Name="Id" /></Principal><Dependent Role="BankAccount"><PropertyRef Name="CurrencyId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_ConstantSymbol_Country"><End Type="DokladModel.Country" Role="Country" Multiplicity="1"><OnDelete Action="Cascade" /></End><End Type="DokladModel.ConstantSymbol" Role="ConstantSymbol" Multiplicity="*" /><ReferentialConstraint><Principal Role="Country"><PropertyRef Name="Id" /></Principal><Dependent Role="ConstantSymbol"><PropertyRef Name="CountryId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_IssuedInvoice_ConstantSymbol"><End Type="DokladModel.ConstantSymbol" Role="ConstantSymbol" Multiplicity="0..1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="*" /><ReferentialConstraint><Principal Role="ConstantSymbol"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice"><PropertyRef Name="ConstantSymbolId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Contact_Country"><End Type="DokladModel.Country" Role="Country" Multiplicity="0..1" /><End Type="DokladModel.Contact" Role="Contact" Multiplicity="*" /><ReferentialConstraint><Principal Role="Country"><PropertyRef Name="Id" /></Principal><Dependent Role="Contact"><PropertyRef Name="CountryId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_IssuedInvoice_Contact"><End Type="DokladModel.Contact" Role="Contact" Multiplicity="0..1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="*" /><ReferentialConstraint><Principal Role="Contact"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice"><PropertyRef Name="PurchaserId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Country_Currency"><End Type="DokladModel.Currency" Role="Currency" Multiplicity="1" /><End Type="DokladModel.Country" Role="Country" Multiplicity="*" /><ReferentialConstraint><Principal Role="Currency"><PropertyRef Name="Id" /></Principal><Dependent Role="Country"><PropertyRef Name="CurrencyId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_VatRate_Country"><End Type="DokladModel.Country" Role="Country" Multiplicity="1"><OnDelete Action="Cascade" /></End><End Type="DokladModel.VatRate" Role="VatRate" Multiplicity="*" /><ReferentialConstraint><Principal Role="Country"><PropertyRef Name="Id" /></Principal><Dependent Role="VatRate"><PropertyRef Name="CountryId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Event_Country"><End Type="DokladModel.Country" Role="Country" Multiplicity="1" /><End Type="DokladModel.Event" Role="Event" Multiplicity="*" /><ReferentialConstraint><Principal Role="Country"><PropertyRef Name="Id" /></Principal><Dependent Role="Event"><PropertyRef Name="CountryId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_ExchangeRate_Currency"><End Type="DokladModel.Currency" Role="Currency" Multiplicity="1"><OnDelete Action="Cascade" /></End><End Type="DokladModel.ExchangeRate" Role="ExchangeRate" Multiplicity="*" /><ReferentialConstraint><Principal Role="Currency"><PropertyRef Name="Id" /></Principal><Dependent Role="ExchangeRate"><PropertyRef Name="CurrencyId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_IssuedInvoice_Currency"><End Type="DokladModel.Currency" Role="Currency" Multiplicity="1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="*" /><ReferentialConstraint><Principal Role="Currency"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice"><PropertyRef Name="CurrencyId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_PriceListItem_Currency"><End Type="DokladModel.Currency" Role="Currency" Multiplicity="1" /><End Type="DokladModel.PriceListItem" Role="PriceListItem" Multiplicity="*" /><ReferentialConstraint><Principal Role="Currency"><PropertyRef Name="Id" /></Principal><Dependent Role="PriceListItem"><PropertyRef Name="CurrencyId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_MyCompanyDocumentAdrress_DocumentAddress"><End Type="DokladModel.DocumentAddress" Role="DocumentAddress" Multiplicity="1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="*" /><ReferentialConstraint><Principal Role="DocumentAddress"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice"><PropertyRef Name="MyCompanyDocumentAdrressId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_PurchaserDocumentAddress_DocumentAddress"><End Type="DokladModel.DocumentAddress" Role="DocumentAddress" Multiplicity="1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="*" /><ReferentialConstraint><Principal Role="DocumentAddress"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice"><PropertyRef Name="PurchaserDocumentAddressId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_Event_Category"><End Type="DokladModel.EventCategory" Role="EventCategory" Multiplicity="1" /><End Type="DokladModel.Event" Role="Event" Multiplicity="*" /><ReferentialConstraint><Principal Role="EventCategory"><PropertyRef Name="Id" /></Principal><Dependent Role="Event"><PropertyRef Name="EventCategoryId" /></Dependent></ReferentialConstraint></Association><Association Name="ExchangeListExchangeRate"><End Type="DokladModel.ExchangeList" Role="ExchangeList" Multiplicity="0..1" /><End Type="DokladModel.ExchangeRate" Role="ExchangeRate" Multiplicity="*" /><ReferentialConstraint><Principal Role="ExchangeList"><PropertyRef Name="Id" /></Principal><Dependent Role="ExchangeRate"><PropertyRef Name="ExchangeListId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_IssuedInvoice_AccountedByInvoice"><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="0..1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice1" Multiplicity="*" /><ReferentialConstraint><Principal Role="IssuedInvoice"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice1"><PropertyRef Name="AccountedByInvoiceId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_IssuedInvoice_PaymentOption"><End Type="DokladModel.PaymentOption" Role="PaymentOption" Multiplicity="0..1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="*" /><ReferentialConstraint><Principal Role="PaymentOption"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice"><PropertyRef Name="PaymentOptionId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_IssuedInvoiceItem_Invoice"><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="1" /><End Type="DokladModel.IssuedInvoiceItem" Role="IssuedInvoiceItem" Multiplicity="*" /><ReferentialConstraint><Principal Role="IssuedInvoice"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoiceItem"><PropertyRef Name="InvoiceId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_IssuedInvoice_CashVoucherReportColor"><End Type="DokladModel.ReportColor" Role="ReportColor" Multiplicity="0..1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="*" /><ReferentialConstraint><Principal Role="ReportColor"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice"><PropertyRef Name="CashVoucherReportColorId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_IssuedInvoice_ReportColor"><End Type="DokladModel.ReportColor" Role="ReportColor" Multiplicity="0..1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="*" /><ReferentialConstraint><Principal Role="ReportColor"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice"><PropertyRef Name="ReportColorId" /></Dependent></ReferentialConstraint></Association><Association Name="FK_CreditNoteIssuedInvoice_IssuedInvoice"><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice" Multiplicity="0..1" /><End Type="DokladModel.IssuedInvoice" Role="IssuedInvoice1" Multiplicity="*" /><ReferentialConstraint><Principal Role="IssuedInvoice"><PropertyRef Name="Id" /></Principal><Dependent Role="IssuedInvoice1"><PropertyRef Name="CreditNoteForDocumentId" /></Dependent></ReferentialConstraint></Association></Schema><Schema Namespace="Doklad.DAL" xmlns="http://schemas.microsoft.com/ado/2009/11/edm"><EntityContainer Name="DokladEntities" m:IsDefaultEntityContainer="true" p6:LazyLoadingEnabled="true" xmlns:p6="http://schemas.microsoft.com/ado/2009/02/edm/annotation"><EntitySet Name="Agendas" EntityType="DokladModel.Agenda" /><EntitySet Name="Banks" EntityType="DokladModel.Bank" /><EntitySet Name="BankAccounts" EntityType="DokladModel.BankAccount" /><EntitySet Name="ConstantSymbols" EntityType="DokladModel.ConstantSymbol" /><EntitySet Name="Contacts" EntityType="DokladModel.Contact" /><EntitySet Name="Countries" EntityType="DokladModel.Country" /><EntitySet Name="Currencies" EntityType="DokladModel.Currency" /><EntitySet Name="DocumentAddresses" EntityType="DokladModel.DocumentAddress" /><EntitySet Name="Events" EntityType="DokladModel.Event" /><EntitySet Name="EventCategories" EntityType="DokladModel.EventCategory" /><EntitySet Name="ExchangeLists" EntityType="DokladModel.ExchangeList" /><EntitySet Name="ExchangeRates" EntityType="DokladModel.ExchangeRate" /><EntitySet Name="IssuedInvoices" EntityType="DokladModel.IssuedInvoice" /><EntitySet Name="IssuedInvoiceItems" EntityType="DokladModel.IssuedInvoiceItem" /><EntitySet Name="PaymentOptions" EntityType="DokladModel.PaymentOption" /><EntitySet Name="PriceListItems" EntityType="DokladModel.PriceListItem" /><EntitySet Name="VatRates" EntityType="DokladModel.VatRate" /><EntitySet Name="ReportColors" EntityType="DokladModel.ReportColor" /><FunctionImport Name="CanDeleteContact" ReturnType="Edm.Boolean" m:HttpMethod="GET"><Parameter Name="contactId" Type="Edm.Int32" Nullable="false" /></FunctionImport><FunctionImport Name="DeleteContact" ReturnType="Edm.Boolean" m:HttpMethod="GET"><Parameter Name="contactId" Type="Edm.Int32" Nullable="false" /></FunctionImport><FunctionImport Name="DeleteIssuedInvoice" ReturnType="Edm.Boolean" m:HttpMethod="GET"><Parameter Name="issuedInvoiceId" Type="Edm.Int32" Nullable="false" /></FunctionImport><FunctionImport Name="GetCashVoucherPdf" ReturnType="Edm.String" m:HttpMethod="GET"><Parameter Name="issuedInvoiceId" Type="Edm.Int32" Nullable="false" /></FunctionImport><FunctionImport Name="GetCashVoucherUncompressedPdf" ReturnType="Edm.String" m:HttpMethod="GET"><Parameter Name="issuedInvoiceId" Type="Edm.Int32" Nullable="false" /></FunctionImport><FunctionImport Name="GetChangesBanks" ReturnType="Collection(DokladModel.Bank)" EntitySet="Banks" m:HttpMethod="GET"><Parameter Name="dateLastChange" Type="Edm.DateTime" Nullable="false" /></FunctionImport><FunctionImport Name="GetChangesConstantsSymbols" ReturnType="Collection(DokladModel.ConstantSymbol)" EntitySet="ConstantSymbols" m:HttpMethod="GET"><Parameter Name="dateLastChange" Type="Edm.DateTime" Nullable="false" /></FunctionImport><FunctionImport Name="GetChangesCountries" ReturnType="Collection(DokladModel.Country)" EntitySet="Countries" m:HttpMethod="GET"><Parameter Name="dateLastChange" Type="Edm.DateTime" Nullable="false" /></FunctionImport><FunctionImport Name="GetChangesCurrencies" ReturnType="Collection(DokladModel.Currency)" EntitySet="Currencies" m:HttpMethod="GET"><Parameter Name="dateLastChange" Type="Edm.DateTime" Nullable="false" /></FunctionImport><FunctionImport Name="GetChangesInModel" ReturnType="Collection(Edm.String)" m:HttpMethod="GET"><Parameter Name="dateLastChange" Type="Edm.DateTime" Nullable="false" /></FunctionImport><FunctionImport Name="GetChangesPaymentOptions" ReturnType="Collection(DokladModel.PaymentOption)" EntitySet="PaymentOptions" m:HttpMethod="GET"><Parameter Name="dateLastChange" Type="Edm.DateTime" Nullable="false" /></FunctionImport><FunctionImport Name="GetChangesVatRates" ReturnType="Collection(DokladModel.VatRate)" EntitySet="VatRates" m:HttpMethod="GET"><Parameter Name="dateLastChange" Type="Edm.DateTime" Nullable="false" /></FunctionImport><FunctionImport Name="GetIssuedInvoicePdf" ReturnType="Edm.String" m:HttpMethod="GET"><Parameter Name="issuedInvoiceId" Type="Edm.Int32" Nullable="false" /></FunctionImport><FunctionImport Name="GetIssuedInvoiceUncompressedPdf" ReturnType="Edm.String" m:HttpMethod="GET"><Parameter Name="issuedInvoiceId" Type="Edm.Int32" Nullable="false" /></FunctionImport><FunctionImport Name="GetSummaryAgenda" ReturnType="Collection(DokladModel.SummaryAgenda)" m:HttpMethod="GET" /><FunctionImport Name="GetSummaryQuarter" ReturnType="Collection(DokladModel.SummaryQuarter)" m:HttpMethod="GET" /><FunctionImport Name="GetSummaryTopPartners" ReturnType="Collection(DokladModel.SummaryTopPartner)" m:HttpMethod="GET" /><FunctionImport Name="GetUniqueNumber" ReturnType="Edm.String" m:HttpMethod="GET"><Parameter Name="documentType" Type="Edm.Byte" Nullable="false" /><Parameter Name="dateOfIssue" Type="Edm.DateTime" Nullable="false" /></FunctionImport><FunctionImport Name="SendMailWithIssuedInvoice" ReturnType="Edm.Boolean" m:HttpMethod="GET"><Parameter Name="issuedInvoiceId" Type="Edm.Int32" Nullable="false" /></FunctionImport><AssociationSet Name="FK_Agenda_ConstantSymbol" Association="DokladModel.FK_Agenda_ConstantSymbol"><End Role="Agenda" EntitySet="Agendas" /><End Role="ConstantSymbol" EntitySet="ConstantSymbols" /></AssociationSet><AssociationSet Name="FK_Agenda_Currency" Association="DokladModel.FK_Agenda_Currency"><End Role="Agenda" EntitySet="Agendas" /><End Role="Currency" EntitySet="Currencies" /></AssociationSet><AssociationSet Name="FK_Agenda_PaymentOption" Association="DokladModel.FK_Agenda_PaymentOption"><End Role="Agenda" EntitySet="Agendas" /><End Role="PaymentOption" EntitySet="PaymentOptions" /></AssociationSet><AssociationSet Name="FK_BankAccount_Agenda" Association="DokladModel.FK_BankAccount_Agenda"><End Role="Agenda" EntitySet="Agendas" /><End Role="BankAccount" EntitySet="BankAccounts" /></AssociationSet><AssociationSet Name="FK_DocumentAddress_Agenda" Association="DokladModel.FK_DocumentAddress_Agenda"><End Role="Agenda" EntitySet="Agendas" /><End Role="DocumentAddress" EntitySet="DocumentAddresses" /></AssociationSet><AssociationSet Name="FK_Event_Agenda" Association="DokladModel.FK_Event_Agenda"><End Role="Agenda" EntitySet="Agendas" /><End Role="Event" EntitySet="Events" /></AssociationSet><AssociationSet Name="FK_IssuedInvoice_Agenda" Association="DokladModel.FK_IssuedInvoice_Agenda"><End Role="Agenda" EntitySet="Agendas" /><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /></AssociationSet><AssociationSet Name="FK_IssuedInvoiceItem_Agenda" Association="DokladModel.FK_IssuedInvoiceItem_Agenda"><End Role="Agenda" EntitySet="Agendas" /><End Role="IssuedInvoiceItem" EntitySet="IssuedInvoiceItems" /></AssociationSet><AssociationSet Name="FK_PriceListItem_Agenda" Association="DokladModel.FK_PriceListItem_Agenda"><End Role="Agenda" EntitySet="Agendas" /><End Role="PriceListItem" EntitySet="PriceListItems" /></AssociationSet><AssociationSet Name="FK_Agenda_Contact" Association="DokladModel.AgendaContact"><End Role="Agenda" EntitySet="Agendas" /><End Role="Contact" EntitySet="Contacts" /></AssociationSet><AssociationSet Name="FK_Agenda_CashVoucherDefaultReportColor" Association="DokladModel.FK_Agenda_CashVoucherDefaultReportColor"><End Role="Agenda" EntitySet="Agendas" /><End Role="ReportColor" EntitySet="ReportColors" /></AssociationSet><AssociationSet Name="FK_Agenda_CashVoucherDefaultReportColorHc" Association="DokladModel.FK_Agenda_CashVoucherDefaultReportColorHc"><End Role="Agenda" EntitySet="Agendas" /><End Role="ReportColor" EntitySet="ReportColors" /></AssociationSet><AssociationSet Name="FK_Agenda_DefaultReportColor" Association="DokladModel.FK_Agenda_DefaultReportColor"><End Role="Agenda" EntitySet="Agendas" /><End Role="ReportColor" EntitySet="ReportColors" /></AssociationSet><AssociationSet Name="FK_Agenda_DefaultReportColorHc" Association="DokladModel.FK_Agenda_DefaultReportColorHc"><End Role="Agenda" EntitySet="Agendas" /><End Role="ReportColor" EntitySet="ReportColors" /></AssociationSet><AssociationSet Name="FK_Agenda_ProformaDefaultReportColor" Association="DokladModel.FK_Agenda_ProformaDefaultReportColor"><End Role="Agenda" EntitySet="Agendas" /><End Role="ReportColor" EntitySet="ReportColors" /></AssociationSet><AssociationSet Name="FK_Agenda_ProformaDefaultReportColorHc" Association="DokladModel.FK_Agenda_ProformaDefaultReportColorHc"><End Role="Agenda" EntitySet="Agendas" /><End Role="ReportColor" EntitySet="ReportColors" /></AssociationSet><AssociationSet Name="FK_ReportColor_Agenda" Association="DokladModel.FK_ReportColor_Agenda"><End Role="Agenda" EntitySet="Agendas" /><End Role="ReportColor" EntitySet="ReportColors" /></AssociationSet><AssociationSet Name="FK_Bank_Country" Association="DokladModel.FK_Bank_Country"><End Role="Bank" EntitySet="Banks" /><End Role="Country" EntitySet="Countries" /></AssociationSet><AssociationSet Name="FK_BankAccount_Bank" Association="DokladModel.FK_BankAccount_Bank"><End Role="Bank" EntitySet="Banks" /><End Role="BankAccount" EntitySet="BankAccounts" /></AssociationSet><AssociationSet Name="FK_BankAccount_Contact" Association="DokladModel.FK_BankAccount_Contact"><End Role="BankAccount" EntitySet="BankAccounts" /><End Role="Contact" EntitySet="Contacts" /></AssociationSet><AssociationSet Name="FK_BankAccount_Currency" Association="DokladModel.FK_BankAccount_Currency"><End Role="BankAccount" EntitySet="BankAccounts" /><End Role="Currency" EntitySet="Currencies" /></AssociationSet><AssociationSet Name="FK_ConstantSymbol_Country" Association="DokladModel.FK_ConstantSymbol_Country"><End Role="ConstantSymbol" EntitySet="ConstantSymbols" /><End Role="Country" EntitySet="Countries" /></AssociationSet><AssociationSet Name="FK_IssuedInvoice_ConstantSymbol" Association="DokladModel.FK_IssuedInvoice_ConstantSymbol"><End Role="ConstantSymbol" EntitySet="ConstantSymbols" /><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /></AssociationSet><AssociationSet Name="FK_Contact_Country" Association="DokladModel.FK_Contact_Country"><End Role="Contact" EntitySet="Contacts" /><End Role="Country" EntitySet="Countries" /></AssociationSet><AssociationSet Name="FK_IssuedInvoice_Contact" Association="DokladModel.FK_IssuedInvoice_Contact"><End Role="Contact" EntitySet="Contacts" /><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /></AssociationSet><AssociationSet Name="FK_Country_Currency" Association="DokladModel.FK_Country_Currency"><End Role="Country" EntitySet="Countries" /><End Role="Currency" EntitySet="Currencies" /></AssociationSet><AssociationSet Name="FK_VatRate_Country" Association="DokladModel.FK_VatRate_Country"><End Role="Country" EntitySet="Countries" /><End Role="VatRate" EntitySet="VatRates" /></AssociationSet><AssociationSet Name="FK_Event_Country" Association="DokladModel.FK_Event_Country"><End Role="Country" EntitySet="Countries" /><End Role="Event" EntitySet="Events" /></AssociationSet><AssociationSet Name="FK_ExchangeRate_Currency" Association="DokladModel.FK_ExchangeRate_Currency"><End Role="Currency" EntitySet="Currencies" /><End Role="ExchangeRate" EntitySet="ExchangeRates" /></AssociationSet><AssociationSet Name="FK_IssuedInvoice_Currency" Association="DokladModel.FK_IssuedInvoice_Currency"><End Role="Currency" EntitySet="Currencies" /><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /></AssociationSet><AssociationSet Name="FK_PriceListItem_Currency" Association="DokladModel.FK_PriceListItem_Currency"><End Role="Currency" EntitySet="Currencies" /><End Role="PriceListItem" EntitySet="PriceListItems" /></AssociationSet><AssociationSet Name="FK_MyCompanyDocumentAdrress_DocumentAddress" Association="DokladModel.FK_MyCompanyDocumentAdrress_DocumentAddress"><End Role="DocumentAddress" EntitySet="DocumentAddresses" /><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /></AssociationSet><AssociationSet Name="FK_PurchaserDocumentAddress_DocumentAddress" Association="DokladModel.FK_PurchaserDocumentAddress_DocumentAddress"><End Role="DocumentAddress" EntitySet="DocumentAddresses" /><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /></AssociationSet><AssociationSet Name="FK_Event_Category" Association="DokladModel.FK_Event_Category"><End Role="Event" EntitySet="Events" /><End Role="EventCategory" EntitySet="EventCategories" /></AssociationSet><AssociationSet Name="ExchangeListExchangeRate" Association="DokladModel.ExchangeListExchangeRate"><End Role="ExchangeList" EntitySet="ExchangeLists" /><End Role="ExchangeRate" EntitySet="ExchangeRates" /></AssociationSet><AssociationSet Name="FK_IssuedInvoice_AccountedByInvoice" Association="DokladModel.FK_IssuedInvoice_AccountedByInvoice"><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /><End Role="IssuedInvoice1" EntitySet="IssuedInvoices" /></AssociationSet><AssociationSet Name="FK_IssuedInvoice_PaymentOption" Association="DokladModel.FK_IssuedInvoice_PaymentOption"><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /><End Role="PaymentOption" EntitySet="PaymentOptions" /></AssociationSet><AssociationSet Name="FK_IssuedInvoiceItem_Invoice" Association="DokladModel.FK_IssuedInvoiceItem_Invoice"><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /><End Role="IssuedInvoiceItem" EntitySet="IssuedInvoiceItems" /></AssociationSet><AssociationSet Name="FK_IssuedInvoice_CashVoucherReportColor" Association="DokladModel.FK_IssuedInvoice_CashVoucherReportColor"><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /><End Role="ReportColor" EntitySet="ReportColors" /></AssociationSet><AssociationSet Name="FK_IssuedInvoice_ReportColor" Association="DokladModel.FK_IssuedInvoice_ReportColor"><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /><End Role="ReportColor" EntitySet="ReportColors" /></AssociationSet><AssociationSet Name="FK_CreditNoteIssuedInvoice_IssuedInvoice" Association="DokladModel.FK_CreditNoteIssuedInvoice_IssuedInvoice"><End Role="IssuedInvoice" EntitySet="IssuedInvoices" /><End Role="IssuedInvoice1" EntitySet="IssuedInvoices" /></AssociationSet></EntityContainer></Schema></edmx:DataServices></edmx:Edmx>
@@ -0,0 +1,145 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <edmx:Edmx Version="4.0"
3
+ xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
4
+ <edmx:DataServices>
5
+ <Schema Namespace="ODataDemo"
6
+ xmlns="http://docs.oasis-open.org/odata/ns/edm">
7
+ <EntityType Name="Product">
8
+ <Key>
9
+ <PropertyRef Name="ID" />
10
+ </Key>
11
+ <Property Name="ID" Type="Edm.Int32" Nullable="false" />
12
+ <Property Name="Name" Type="Edm.String" />
13
+ <Property Name="Description" Type="Edm.String" />
14
+ <Property Name="ReleaseDate" Type="Edm.DateTimeOffset" Nullable="false" />
15
+ <Property Name="DiscontinuedDate" Type="Edm.DateTimeOffset" />
16
+ <Property Name="Rating" Type="Edm.Int16" Nullable="false" />
17
+ <Property Name="Price" Type="Edm.Double" Nullable="false" />
18
+ <NavigationProperty Name="Categories" Type="Collection(ODataDemo.Category)" Partner="Products" />
19
+ <NavigationProperty Name="Supplier" Type="ODataDemo.Supplier" Partner="Products" />
20
+ <NavigationProperty Name="ProductDetail" Type="ODataDemo.ProductDetail" Partner="Product" />
21
+ </EntityType>
22
+ <EntityType Name="FeaturedProduct" BaseType="ODataDemo.Product">
23
+ <NavigationProperty Name="Advertisement" Type="ODataDemo.Advertisement" Partner="FeaturedProduct" />
24
+ </EntityType>
25
+ <EntityType Name="ProductDetail">
26
+ <Key>
27
+ <PropertyRef Name="ProductID" />
28
+ </Key>
29
+ <Property Name="ProductID" Type="Edm.Int32" Nullable="false" />
30
+ <Property Name="Details" Type="Edm.String" />
31
+ <NavigationProperty Name="Product" Type="ODataDemo.Product" Partner="ProductDetail" />
32
+ </EntityType>
33
+ <EntityType Name="Category" OpenType="true">
34
+ <Key>
35
+ <PropertyRef Name="ID" />
36
+ </Key>
37
+ <Property Name="ID" Type="Edm.Int32" Nullable="false" />
38
+ <Property Name="Name" Type="Edm.String" />
39
+ <NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)" Partner="Categories" />
40
+ </EntityType>
41
+ <EntityType Name="Supplier">
42
+ <Key>
43
+ <PropertyRef Name="ID" />
44
+ </Key>
45
+ <Property Name="ID" Type="Edm.Int32" Nullable="false" />
46
+ <Property Name="Name" Type="Edm.String" />
47
+ <Property Name="Address" Type="ODataDemo.Address" />
48
+ <Property Name="Location" Type="Edm.GeographyPoint" SRID="Variable" />
49
+ <Property Name="Concurrency" Type="Edm.Int32" ConcurrencyMode="Fixed" Nullable="false" />
50
+ <NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)" Partner="Supplier" />
51
+ </EntityType>
52
+ <ComplexType Name="Address">
53
+ <Property Name="Street" Type="Edm.String" />
54
+ <Property Name="City" Type="Edm.String" />
55
+ <Property Name="State" Type="Edm.String" />
56
+ <Property Name="ZipCode" Type="Edm.String" />
57
+ <Property Name="Country" Type="Edm.String" />
58
+ </ComplexType>
59
+ <EntityType Name="Person">
60
+ <Key>
61
+ <PropertyRef Name="ID" />
62
+ </Key>
63
+ <Property Name="ID" Type="Edm.Int32" Nullable="false" />
64
+ <Property Name="Name" Type="Edm.String" />
65
+ <NavigationProperty Name="PersonDetail" Type="ODataDemo.PersonDetail" Partner="Person" />
66
+ </EntityType>
67
+ <EntityType Name="Customer" BaseType="ODataDemo.Person">
68
+ <Property Name="TotalExpense" Type="Edm.Decimal" Nullable="false" />
69
+ </EntityType>
70
+ <EntityType Name="Employee" BaseType="ODataDemo.Person">
71
+ <Property Name="EmployeeID" Type="Edm.Int64" Nullable="false" />
72
+ <Property Name="HireDate" Type="Edm.DateTimeOffset" Nullable="false" />
73
+ <Property Name="Salary" Type="Edm.Single" Nullable="false" />
74
+ </EntityType>
75
+ <EntityType Name="PersonDetail">
76
+ <Key>
77
+ <PropertyRef Name="PersonID" />
78
+ </Key>
79
+ <Property Name="PersonID" Type="Edm.Int32" Nullable="false" />
80
+ <Property Name="Age" Type="Edm.Byte" Nullable="false" />
81
+ <Property Name="Gender" Type="Edm.Boolean" Nullable="false" />
82
+ <Property Name="Phone" Type="Edm.String" />
83
+ <Property Name="Address" Type="ODataDemo.Address" />
84
+ <Property Name="Photo" Type="Edm.Stream" Nullable="false" />
85
+ <NavigationProperty Name="Person" Type="ODataDemo.Person" Partner="PersonDetail" />
86
+ </EntityType>
87
+ <EntityType Name="Advertisement" HasStream="true">
88
+ <Key>
89
+ <PropertyRef Name="ID" />
90
+ </Key>
91
+ <Property Name="ID" Type="Edm.Guid" Nullable="false" />
92
+ <Property Name="Name" Type="Edm.String" />
93
+ <Property Name="AirDate" Type="Edm.DateTimeOffset" Nullable="false" />
94
+ <NavigationProperty Name="FeaturedProduct" Type="ODataDemo.FeaturedProduct" Partner="Advertisement" />
95
+ </EntityType>
96
+ <EntityContainer Name="DemoService">
97
+ <EntitySet Name="Products" EntityType="ODataDemo.Product">
98
+ <NavigationPropertyBinding Path="ODataDemo.FeaturedProduct/Advertisement" Target="Advertisements" />
99
+ <NavigationPropertyBinding Path="Categories" Target="Categories" />
100
+ <NavigationPropertyBinding Path="Supplier" Target="Suppliers" />
101
+ <NavigationPropertyBinding Path="ProductDetail" Target="ProductDetails" />
102
+ </EntitySet>
103
+ <EntitySet Name="ProductDetails" EntityType="ODataDemo.ProductDetail">
104
+ <NavigationPropertyBinding Path="Product" Target="Products" />
105
+ </EntitySet>
106
+ <EntitySet Name="Categories" EntityType="ODataDemo.Category">
107
+ <NavigationPropertyBinding Path="Products" Target="Products" />
108
+ </EntitySet>
109
+ <EntitySet Name="Suppliers" EntityType="ODataDemo.Supplier">
110
+ <NavigationPropertyBinding Path="Products" Target="Products" />
111
+ </EntitySet>
112
+ <EntitySet Name="Persons" EntityType="ODataDemo.Person">
113
+ <NavigationPropertyBinding Path="PersonDetail" Target="PersonDetails" />
114
+ </EntitySet>
115
+ <EntitySet Name="PersonDetails" EntityType="ODataDemo.PersonDetail">
116
+ <NavigationPropertyBinding Path="Person" Target="Persons" />
117
+ </EntitySet>
118
+ <EntitySet Name="Advertisements" EntityType="ODataDemo.Advertisement">
119
+ <NavigationPropertyBinding Path="FeaturedProduct" Target="Products" />
120
+ </EntitySet>
121
+ </EntityContainer>
122
+ <Annotations Target="ODataDemo.DemoService">
123
+ <Annotation Term="Org.OData.Display.V1.Description" String="This is a sample OData service with vocabularies" />
124
+ </Annotations>
125
+ <Annotations Target="ODataDemo.Product">
126
+ <Annotation Term="Org.OData.Display.V1.Description" String="All Products available in the online store" />
127
+ </Annotations>
128
+ <Annotations Target="ODataDemo.Product/Name">
129
+ <Annotation Term="Org.OData.Display.V1.DisplayName" String="Product Name" />
130
+ </Annotations>
131
+ <Annotations Target="ODataDemo.DemoService/Suppliers">
132
+ <Annotation Term="Org.OData.Publication.V1.PublisherName" String="Microsoft Corp." />
133
+ <Annotation Term="Org.OData.Publication.V1.PublisherId" String="MSFT" />
134
+ <Annotation Term="Org.OData.Publication.V1.Keywords" String="Inventory, Supplier, Advertisers, Sales, Finance" />
135
+ <Annotation Term="Org.OData.Publication.V1.AttributionUrl" String="http://www.odata.org/" />
136
+ <Annotation Term="Org.OData.Publication.V1.AttributionDescription" String="All rights reserved" />
137
+ <Annotation Term="Org.OData.Publication.V1.DocumentationUrl " String="http://www.odata.org/" />
138
+ <Annotation Term="Org.OData.Publication.V1.TermsOfUseUrl" String="All rights reserved" />
139
+ <Annotation Term="Org.OData.Publication.V1.PrivacyPolicyUrl" String="http://www.odata.org/" />
140
+ <Annotation Term="Org.OData.Publication.V1.LastModified" String="4/2/2013" />
141
+ <Annotation Term="Org.OData.Publication.V1.ImageUrl " String="http://www.odata.org/" />
142
+ </Annotations>
143
+ </Schema>
144
+ </edmx:DataServices>
145
+ </edmx:Edmx>
File without changes
@@ -1,10 +1,12 @@
1
1
  require 'spec_helper'
2
+ require 'base64'
2
3
 
3
4
  module OData
5
+
4
6
  describe Service do
5
7
  before(:all) do
6
8
  stub_request(:get, /http:\/\/test\.com\/test\.svc\/\$metadata(?:\?.+)?/).
7
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
9
+ with(:headers => DEFAULT_HEADERS).
8
10
  to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
9
11
 
10
12
  @cat_prod_service = OData::Service.new "http://test.com/test.svc"
@@ -171,7 +173,7 @@ module OData
171
173
  end
172
174
  it "should return true if a function import post that returns successfully and doesn't have a return value (HTTP 204)" do
173
175
  result = subject.CleanDatabaseForTesting
174
- result.should be_true
176
+ expect(result).to eq true
175
177
  end
176
178
  it "should return a collection of entities for a collection" do
177
179
  result = subject.EntityCategoryWebGet
@@ -204,7 +206,7 @@ module OData
204
206
 
205
207
  before(:all) do
206
208
  stub_request(:get, "http://test.com/test.svc/$metadata").
207
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
209
+ with(:headers => DEFAULT_HEADERS).
208
210
  to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/int64_ids/edmx_car_service.xml", __FILE__)), :headers => {})
209
211
  @svc = OData::Service.new "http://test.com/test.svc/"
210
212
  end
@@ -218,7 +220,7 @@ module OData
218
220
 
219
221
  its(:name) { should eq('id') }
220
222
  its(:type) { should eq('Edm.Int64') }
221
- its(:nullable) { should be_false }
223
+ its(:nullable) { should eq false }
222
224
  its(:fc_target_path) { should be_nil }
223
225
  its(:fc_keep_in_content) { should be_nil }
224
226
  end
@@ -226,7 +228,7 @@ module OData
226
228
  context "can parse Id correctly" do
227
229
  before(:each) do
228
230
  stub_request(:get, "http://test.com/test.svc/Cars(213L)").
229
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
231
+ with(:headers => DEFAULT_HEADERS).
230
232
  to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/int64_ids/result_cars.xml", __FILE__)), :headers => {})
231
233
 
232
234
  @svc.Cars(213)
@@ -245,7 +247,7 @@ module OData
245
247
 
246
248
  before(:all) do
247
249
  stub_request(:get, "http://test.com/test.svc/$metadata").
248
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
250
+ with(:headers => DEFAULT_HEADERS).
249
251
  to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/int64_ids/edmx_boat_service.xml", __FILE__)), :headers => {})
250
252
  @svc = OData::Service.new "http://test.com/test.svc/"
251
253
  end
@@ -259,7 +261,7 @@ module OData
259
261
 
260
262
  its(:name) { should eq('KeyId') }
261
263
  its(:type) { should eq('Edm.Int64') }
262
- its(:nullable) { should be_false }
264
+ its(:nullable) { should eq(false) }
263
265
  its(:fc_target_path) { should be_nil }
264
266
  its(:fc_keep_in_content) { should be_nil }
265
267
  end
@@ -267,7 +269,7 @@ module OData
267
269
  context "can parse Id correctly" do
268
270
  before(:each) do
269
271
  stub_request(:get, "http://test.com/test.svc/Boats(213L)").
270
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
272
+ with(:headers => DEFAULT_HEADERS).
271
273
  to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/int64_ids/result_boats.xml", __FILE__)), :headers => {})
272
274
 
273
275
  @svc.Boats(213)
@@ -285,10 +287,13 @@ module OData
285
287
 
286
288
  describe "Dual Namespaces" do
287
289
  before(:all) do
288
- stub_request(:get, "http://xxxx%5Cyyyy:zzzz@test.com/test.svc/$metadata").
289
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
290
+ auth_string = "xxxx\\yyyy:zzzz"
291
+ authorization_header = { authorization: "Basic #{Base64::encode64(auth_string).strip}" }
292
+ stub_request(:get, "http://test.com/test.svc/$metadata").
293
+ with(:headers => DEFAULT_HEADERS.merge(authorization_header)).
290
294
  to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/edmx_ms_system_center_v2.xml", __FILE__)), :headers => {})
291
295
  end
296
+
292
297
  after(:all) do
293
298
  VMM.constants.each do |constant|
294
299
  VMM.send :remove_const, constant
@@ -299,4 +304,4 @@ module OData
299
304
  lambda { OData::Service.new "http://test.com/test.svc/", { :username => "xxxx\\yyyy", :password=> "zzzz", :verify_ssl => false, :namespace => "VMM" } }.should_not raise_error
300
305
  end
301
306
  end
302
- end
307
+ end
data/spec/service_spec.rb CHANGED
@@ -6,16 +6,16 @@ module OData
6
6
  it "truncates passed in end slash from uri when making the request" do
7
7
  # Required for the build_classes method
8
8
  stub_request(:get, "http://test.com/test.svc/$metadata").
9
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
10
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_empty.xml", __FILE__)), :headers => {})
9
+ with(:headers => DEFAULT_HEADERS).
10
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_empty.xml", __FILE__)), :headers => {})
11
11
 
12
12
  svc = OData::Service.new "http://test.com/test.svc/"
13
13
  end
14
14
  it "doesn't error with lowercase entities" do
15
15
  # Required for the build_classes method
16
16
  stub_request(:get, "http://test.com/test.svc/$metadata").
17
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
18
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_lowercase.xml", __FILE__)), :headers => {})
17
+ with(:headers => DEFAULT_HEADERS).
18
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_lowercase.xml", __FILE__)), :headers => {})
19
19
 
20
20
  lambda { OData::Service.new "http://test.com/test.svc" }.should_not raise_error
21
21
  end
@@ -24,8 +24,8 @@ module OData
24
24
  before(:each) do
25
25
  # Required for the build_classes method
26
26
  stub_request(:get, /http:\/\/test\.com\/test\.svc\/\$metadata(?:\?.+)?/).
27
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
28
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_empty.xml", __FILE__)), :headers => {})
27
+ with(:headers => DEFAULT_HEADERS).
28
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_empty.xml", __FILE__)), :headers => {})
29
29
  end
30
30
  it "should accept additional query string parameters" do
31
31
  svc = OData::Service.new "http://test.com/test.svc/", { :additional_params => { :x=>1, :y=>2 } }
@@ -41,8 +41,8 @@ module OData
41
41
  before(:each) do
42
42
  # Required for the build_classes method
43
43
  stub_request(:get, /http:\/\/test\.com\/test\.svc\/\$metadata(?:\?.+)?/).
44
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
45
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_empty.xml", __FILE__)), :headers => {})
44
+ with(:headers => DEFAULT_HEADERS).
45
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_empty.xml", __FILE__)), :headers => {})
46
46
  end
47
47
  it "should accept in options that will be passed to the rest-client lib" do
48
48
  svc = OData::Service.new "http://test.com/test.svc/", { :rest_options => { :ssl_ca_file => "ca_certificate.pem" } }
@@ -58,8 +58,8 @@ module OData
58
58
  before(:each) do
59
59
  # Required for the build_classes method
60
60
  stub_request(:any, /http:\/\/test\.com\/test\.svc(?:.*)/).
61
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
62
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sap/edmx_sap_demo_flight.xml", __FILE__)), :headers => {})
61
+ with(:headers => DEFAULT_HEADERS).
62
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sap/edmx_sap_demo_flight.xml", __FILE__)), :headers => {})
63
63
  end
64
64
  it "should pass the parameters as part of a query" do
65
65
  svc = OData::Service.new "http://test.com/test.svc/", { :additional_params => { :x=>1, :y=>2 } }
@@ -124,12 +124,12 @@ module OData
124
124
  describe "exception handling" do
125
125
  before(:each) do
126
126
  stub_request(:get, "http://test.com/test.svc/$metadata").
127
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
128
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
127
+ with(:headers => DEFAULT_HEADERS).
128
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
129
129
 
130
130
  stub_request(:get, "http://test.com/test.svc/Categories?$select=Price").
131
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
132
- to_return(:status => 400, :body => File.new(File.expand_path("../fixtures/error_without_message.xml", __FILE__)), :headers => {})
131
+ with(:headers => DEFAULT_HEADERS).
132
+ to_return(:status => 400, :body => File.new(File.expand_path("../fixtures/error_without_message.xml", __FILE__)), :headers => {})
133
133
  end
134
134
 
135
135
  it "includes a generic message if the error is not in the response" do
@@ -146,13 +146,13 @@ module OData
146
146
  before(:each) do
147
147
  # Required for the build_classes method
148
148
  stub_request(:get, "http://test.com/test.svc/$metadata").
149
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
150
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_lowercase.xml", __FILE__)), :headers => {})
149
+ with(:headers => DEFAULT_HEADERS).
150
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_lowercase.xml", __FILE__)), :headers => {})
151
151
  end
152
152
 
153
153
  it "should respond_to a lowercase collection" do
154
154
  svc = OData::Service.new "http://test.com/test.svc"
155
- svc.respond_to?('acronyms').should be_true
155
+ expect(svc.respond_to?('acronyms')).to eq true
156
156
  end
157
157
 
158
158
  it "should allow a lowercase collections to be queried" do
@@ -165,12 +165,12 @@ module OData
165
165
  before(:each) do
166
166
  # Required for the build_classes method
167
167
  stub_request(:get, "http://test.com/test.svc/$metadata").
168
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
169
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sap/edmx_sap_demo_flight.xml", __FILE__)), :headers => {})
168
+ with(:headers => DEFAULT_HEADERS).
169
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sap/edmx_sap_demo_flight.xml", __FILE__)), :headers => {})
170
170
 
171
171
  stub_request(:get, "http://test.com/test.svc/z_demo_flightCollection").
172
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
173
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sap/result_sap_demo_flight_missing_category.xml", __FILE__)), :headers => {})
172
+ with(:headers => DEFAULT_HEADERS).
173
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sap/result_sap_demo_flight_missing_category.xml", __FILE__)), :headers => {})
174
174
  end
175
175
 
176
176
  it "should handle entities without a category element" do
@@ -185,18 +185,18 @@ module OData
185
185
  before(:each) do
186
186
  # Metadata
187
187
  stub_request(:get, "http://test.com/test.svc/$metadata").
188
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
189
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/feed_customization/edmx_feed_customization.xml", __FILE__)), :headers => {})
188
+ with(:headers => DEFAULT_HEADERS).
189
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/feed_customization/edmx_feed_customization.xml", __FILE__)), :headers => {})
190
190
 
191
191
  # Content - Products
192
192
  stub_request(:get, /http:\/\/test\.com\/test\.svc\/Products(?:.*)/).
193
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
194
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/feed_customization/result_feed_customization_products_expand.xml", __FILE__)), :headers => {})
193
+ with(:headers => DEFAULT_HEADERS).
194
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/feed_customization/result_feed_customization_products_expand.xml", __FILE__)), :headers => {})
195
195
 
196
196
  # Content - Categories expanded Products
197
197
  stub_request(:get, /http:\/\/test\.com\/test\.svc\/Categories(?:.*)/).
198
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
199
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/feed_customization/result_feed_customization_categories_expand.xml", __FILE__)), :headers => {})
198
+ with(:headers => DEFAULT_HEADERS).
199
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/feed_customization/result_feed_customization_categories_expand.xml", __FILE__)), :headers => {})
200
200
  end
201
201
  after(:each) do
202
202
  Object.send(:remove_const, 'Product')
@@ -314,13 +314,13 @@ module OData
314
314
  before(:each) do
315
315
  # Metadata
316
316
  stub_request(:get, "http://test.com/test.svc/$metadata").
317
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
318
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/inheritance/edmx_pluralsight.xml", __FILE__)), :headers => {})
317
+ with(:headers => DEFAULT_HEADERS).
318
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/inheritance/edmx_pluralsight.xml", __FILE__)), :headers => {})
319
319
 
320
320
  # Content - Courses
321
321
  stub_request(:get, /http:\/\/test\.com\/test\.svc\/Courses(?:.*)/).
322
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
323
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/inheritance/result_pluralsight_courses.xml", __FILE__)), :headers => {})
322
+ with(:headers => DEFAULT_HEADERS).
323
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/inheritance/result_pluralsight_courses.xml", __FILE__)), :headers => {})
324
324
  end
325
325
 
326
326
  it "should build all inherited attributes" do
@@ -362,21 +362,21 @@ module OData
362
362
  before(:each) do
363
363
  # Metadata
364
364
  stub_request(:get, "http://test.com/test.svc/$metadata").
365
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
366
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_metadata.xml", __FILE__)), :headers => {})
365
+ with(:headers => DEFAULT_HEADERS).
366
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_metadata.xml", __FILE__)), :headers => {})
367
367
 
368
368
  # Content - Partial
369
369
  stub_request(:get, "http://test.com/test.svc/Partials").
370
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
371
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_part_1.xml", __FILE__)), :headers => {})
370
+ with(:headers => DEFAULT_HEADERS).
371
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_part_1.xml", __FILE__)), :headers => {})
372
372
 
373
373
  stub_request(:get, "http://test.com/test.svc/Partials?$skiptoken='ERNSH'").
374
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
375
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_part_2.xml", __FILE__)), :headers => {})
374
+ with(:headers => DEFAULT_HEADERS).
375
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_part_2.xml", __FILE__)), :headers => {})
376
376
 
377
377
  stub_request(:get, "http://test.com/test.svc/Partials?$skiptoken='ERNSH2'").
378
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
379
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_part_3.xml", __FILE__)), :headers => {})
378
+ with(:headers => DEFAULT_HEADERS).
379
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_part_3.xml", __FILE__)), :headers => {})
380
380
 
381
381
  end
382
382
 
@@ -402,15 +402,15 @@ module OData
402
402
  context "with additional_params" do
403
403
  before(:each) do
404
404
  stub_request(:get, "http://test.com/test.svc/$metadata?extra_param=value").
405
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
406
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_metadata.xml", __FILE__)), :headers => {})
405
+ with(:headers => DEFAULT_HEADERS).
406
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_metadata.xml", __FILE__)), :headers => {})
407
407
 
408
408
  stub_request(:get, "http://test.com/test.svc/Partials?extra_param=value").
409
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
409
+ with(:headers => DEFAULT_HEADERS).
410
410
  to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_part_1.xml", __FILE__)), :headers => {})
411
411
 
412
412
  stub_request(:get, "http://test.com/test.svc/Partials?$skiptoken='ERNSH'&extra_param=value").
413
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
413
+ with(:headers => DEFAULT_HEADERS).
414
414
  to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/partial/partial_feed_part_2.xml", __FILE__)), :headers => {})
415
415
  end
416
416
 
@@ -429,12 +429,12 @@ module OData
429
429
  before(:each) do
430
430
  # Required for the build_classes method
431
431
  stub_request(:get, /http:\/\/test\.com\/test\.svc\/\$metadata(?:\?.+)?/).
432
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
433
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
432
+ with(:headers => DEFAULT_HEADERS).
433
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
434
434
 
435
435
  stub_request(:get, "http://test.com/test.svc/Categories(1)/$links/Products").
436
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
437
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/links/result_links_query.xml", __FILE__)), :headers => {})
436
+ with(:headers => DEFAULT_HEADERS).
437
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/links/result_links_query.xml", __FILE__)), :headers => {})
438
438
  end
439
439
  it "should be able to parse the results of a links query" do
440
440
  svc = OData::Service.new "http://test.com/test.svc/"
@@ -452,28 +452,28 @@ module OData
452
452
  before(:each) do
453
453
  # Required for the build_classes method
454
454
  stub_request(:get, /http:\/\/test\.com\/test\.svc\/\$metadata(?:\?.+)?/).
455
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
456
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
455
+ with(:headers => DEFAULT_HEADERS).
456
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
457
457
 
458
458
  stub_request(:get, /http:\/\/test\.com\/test\.svc\/Products\(\d\)/).
459
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
460
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_single_product.xml", __FILE__)), :headers => {})
459
+ with(:headers => DEFAULT_HEADERS).
460
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_single_product.xml", __FILE__)), :headers => {})
461
461
 
462
462
  stub_request(:get, /http:\/\/test\.com\/test\.svc\/Products\(\d{2,}\)/).
463
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
464
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_single_product_not_found.xml", __FILE__)), :headers => {})
463
+ with(:headers => DEFAULT_HEADERS).
464
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_single_product_not_found.xml", __FILE__)), :headers => {})
465
465
 
466
466
  stub_request(:get, "http://test.com/test.svc/Products(1)/Category").
467
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
468
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_single_category.xml", __FILE__)), :headers => {})
467
+ with(:headers => DEFAULT_HEADERS).
468
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_single_category.xml", __FILE__)), :headers => {})
469
469
 
470
470
  stub_request(:get, "http://test.com/test.svc/Categories(1)").
471
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
472
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_single_category.xml", __FILE__)), :headers => {})
471
+ with(:headers => DEFAULT_HEADERS).
472
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_single_category.xml", __FILE__)), :headers => {})
473
473
 
474
474
  stub_request(:get, "http://test.com/test.svc/Categories(1)/Products").
475
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
476
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_multiple_category_products.xml", __FILE__)), :headers => {})
475
+ with(:headers => DEFAULT_HEADERS).
476
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_multiple_category_products.xml", __FILE__)), :headers => {})
477
477
 
478
478
  stub_request(:post, "http://test.com/test.svc/Categories(1)/$links/Products").to_return(:status => 204)
479
479
  stub_request(:post, "http://test.com/test.svc/$batch").to_return(:status => 202)
@@ -574,27 +574,27 @@ module OData
574
574
  it "should have full metadata for a property returned from the properties method" do
575
575
  svc = OData::Service.new "http://test.com/test.svc/"
576
576
  Product.properties['Category'].should be_a PropertyMetadata
577
- Product.properties['Category'].nav_prop.should be_true
577
+ expect(Product.properties['Category'].nav_prop).to eq true
578
578
  end
579
579
 
580
580
  it "should create objects that expose an id property" do
581
581
  svc = OData::Service.new "http://test.com/test.svc/"
582
582
  svc.Products(1)
583
583
  product = svc.execute.first
584
- product.should respond_to :id
584
+ expect(product).to respond_to :id
585
585
  end
586
586
 
587
587
  it "should extract the id from the metadata" do
588
588
  svc = OData::Service.new "http://test.com/test.svc/"
589
589
  svc.Products(1)
590
590
  product = svc.execute.first
591
- product.id.should eq 1
591
+ expect(product.id).to eq 1
592
592
  end
593
593
 
594
594
  describe "Class.first method" do
595
595
  it "should exist on the create server objects" do
596
596
  svc = OData::Service.new "http://test.com/test.svc/"
597
- Product.should respond_to :first
597
+ expect(Product).to respond_to :first
598
598
  end
599
599
  it "should return nil if an id isn't passed in" do
600
600
  svc = OData::Service.new "http://test.com/test.svc/"
@@ -626,14 +626,14 @@ module OData
626
626
 
627
627
  it "should create models in the specified namespace if the option is set (using a .NET style namespace with dots)" do
628
628
  svc = OData::Service.new "http://test.com/test.svc/", { :namespace => 'VisoftInc.Sample.Models' }
629
- defined?(VisoftInc::Sample::Models::Product).nil?.should be_false, 'VisoftInc::Sample::Models::Product was expected to be defined, but was not'
630
- defined?(VisoftInc::Sample::Models::Category).nil?.should be_false, 'VisoftInc::Sample::Models::Category was expected to be defined, but was not'
629
+ expect(defined?(VisoftInc::Sample::Models::Product).nil?).to eq false
630
+ expect(defined?(VisoftInc::Sample::Models::Category).nil?).to eq false
631
631
  end
632
632
 
633
633
  it "should create models in the specified namespace if the option is set (using Ruby style namespaces with double colons)" do
634
634
  svc = OData::Service.new "http://test.com/test.svc/", { :namespace => 'VisoftInc::Sample::Models' }
635
- defined?(VisoftInc::Sample::Models::Product).nil?.should be_false, 'VisoftInc::Sample::Models::Product was expected to be defined, but was not'
636
- defined?(VisoftInc::Sample::Models::Category).nil?.should be_false, 'VisoftInc::Sample::Models::Category was expected to be defined, but was not'
635
+ defined?(VisoftInc::Sample::Models::Product).nil?.should eq false
636
+ defined?(VisoftInc::Sample::Models::Category).nil?.should eq false
637
637
  end
638
638
 
639
639
  it "should fill object defined in a namespace" do
@@ -721,7 +721,7 @@ module OData
721
721
  svc.save_changes
722
722
  a_request(:post, "http://test.com/test.svc/Categories(1)/$links/Products").
723
723
  with(:body => { "uri" => "http://test.com/test.svc/Products(1)" },
724
- :headers => {'Content-Type' => 'application/json'}).should have_been_made
724
+ :headers => DEFAULT_HEADERS.merge({'Content-Type' => 'application/json'})).should have_been_made
725
725
  end
726
726
 
727
727
  it "should add the child to the parent's navigation property on a single_save" do
@@ -774,20 +774,47 @@ module OData
774
774
  it { should eq @category }
775
775
  end
776
776
  end
777
+
778
+ describe "serializes nested collections" do
779
+ # Compy with oData Deep Insert capabilities
780
+ # http://docs.oasis-open.org/odata/odata-json-format/v4.0/os/odata-json-format-v4.0-os.html#_Toc372793073
781
+
782
+ before :each do
783
+ category = Category.new
784
+ category.Products = [Product.new(Name: "First"), Product.new(Name: "Last")]
785
+ @json = JSON.parse(category.to_json(type: :add))
786
+ end
787
+
788
+ it "should have an array for the Products key" do
789
+ @json["Products"].should be_a_kind_of Array
790
+ end
791
+
792
+ it "should have a hash for each product" do
793
+ @json["Products"].each{|x| x.should be_a_kind_of Hash}
794
+ end
795
+
796
+ it "should have the same data we put into the products" do
797
+ @json["Products"].first["Name"].should eq "First"
798
+ @json["Products"].last["Name"].should eq "Last"
799
+ end
800
+ end
777
801
  end
778
802
  end
779
803
 
780
804
  describe "JSON serialization of objects" do
805
+ let(:username) { "blabla" }
806
+ let(:password) { "" }
807
+
781
808
  before(:each) do
782
809
  # Required for the build_classes method
783
- stub_request(:get, "http://blabla:@test.com/test.svc/$metadata").
784
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
785
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/edmx_ms_system_center.xml", __FILE__)), :headers => {})
786
-
787
- stub_request(:get, "http://blabla:@test.com/test.svc/VirtualMachines").
788
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
789
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/virtual_machines.xml", __FILE__)), :headers => {})
790
- svc = OData::Service.new "http://test.com/test.svc/", { :username => "blabla", :password=> "", :verify_ssl => false, :namespace => "VMM" }
810
+ stub_request(:get, "http://test.com/test.svc/$metadata").
811
+ with(:headers => DEFAULT_HEADERS).
812
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/edmx_ms_system_center.xml", __FILE__)), :headers => {})
813
+
814
+ stub_request(:get, "http://test.com/test.svc/VirtualMachines").
815
+ with(:headers => DEFAULT_HEADERS).
816
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/virtual_machines.xml", __FILE__)), :headers => {})
817
+ svc = OData::Service.new "http://test.com/test.svc/", { :username => username, :password => password, :verify_ssl => false, :namespace => "VMM" }
791
818
  svc.VirtualMachines
792
819
  results = svc.execute
793
820
  @json = results.first.as_json
@@ -810,23 +837,30 @@ module OData
810
837
  end
811
838
 
812
839
  describe "handling of Microsoft System Center 2012" do
840
+ let(:username) { "blabla" }
841
+ let(:password) { "" }
842
+
813
843
  before(:each) do
844
+ auth_string = "#{username}:#{password}"
845
+ authorization_header = { authorization: "Basic #{Base64::encode64(auth_string).strip}" }
846
+ headers = DEFAULT_HEADERS.merge(authorization_header)
847
+
814
848
  # Required for the build_classes method
815
- stub_request(:get, "http://blabla:@test.com/test.svc/$metadata").
816
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
817
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/edmx_ms_system_center.xml", __FILE__)), :headers => {})
849
+ stub_request(:get, "http://test.com/test.svc/$metadata").
850
+ with(:headers => headers).
851
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/edmx_ms_system_center.xml", __FILE__)), :headers => {})
818
852
 
819
- stub_request(:get, "http://blabla:@test.com/test.svc/VirtualMachines").
820
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
821
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/virtual_machines.xml", __FILE__)), :headers => {})
853
+ stub_request(:get, "http://test.com/test.svc/VirtualMachines").
854
+ with(:headers => headers).
855
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/virtual_machines.xml", __FILE__)), :headers => {})
822
856
 
823
- stub_request(:get, "http://blabla:@test.com/test.svc/HardwareProfiles?$filter=Memory%20eq%203500").
824
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
825
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/hardware_profiles.xml", __FILE__)), :headers => {})
857
+ stub_request(:get, "http://test.com/test.svc/HardwareProfiles?$filter=Memory%20eq%203500").
858
+ with(:headers => headers).
859
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/hardware_profiles.xml", __FILE__)), :headers => {})
826
860
 
827
- stub_request(:get, "http://blabla:@test.com/test.svc/VMTemplates").
828
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
829
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/vm_templates.xml", __FILE__)), :headers => {})
861
+ stub_request(:get, "http://test.com/test.svc/VMTemplates").
862
+ with(:headers => headers).
863
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/ms_system_center/vm_templates.xml", __FILE__)), :headers => {})
830
864
  end
831
865
 
832
866
  after(:all) do
@@ -836,7 +870,7 @@ module OData
836
870
  end
837
871
 
838
872
  it "should successfully parse null valued string properties" do
839
- svc = OData::Service.new "http://test.com/test.svc/", { :username => "blabla", :password=> "", :verify_ssl => false, :namespace => "VMM" }
873
+ svc = OData::Service.new "http://test.com/test.svc/", { :username => username, :password => password, :verify_ssl => false, :namespace => "VMM" }
840
874
  svc.VirtualMachines
841
875
  results = svc.execute
842
876
  results.first.should be_a_kind_of(VMM::VirtualMachine)
@@ -844,21 +878,21 @@ module OData
844
878
  end
845
879
 
846
880
  it "should successfully return a virtual machine" do
847
- svc = OData::Service.new "http://test.com/test.svc/", { :username => "blabla", :password=> "", :verify_ssl => false, :namespace => "VMM" }
881
+ svc = OData::Service.new "http://test.com/test.svc/", { :username => username, :password => password, :verify_ssl => false, :namespace => "VMM" }
848
882
  svc.VirtualMachines
849
883
  results = svc.execute
850
884
  results.first.should be_a_kind_of(VMM::VirtualMachine)
851
885
  end
852
886
 
853
887
  it "should successfully return a hardware profile for results that include a collection of complex types" do
854
- svc = OData::Service.new "http://test.com/test.svc/", { :username => "blabla", :password=> "", :verify_ssl => false, :namespace => "VMM" }
888
+ svc = OData::Service.new "http://test.com/test.svc/", { :username => username, :password => password, :verify_ssl => false, :namespace => "VMM" }
855
889
  svc.HardwareProfiles.filter("Memory eq 3500")
856
890
  results = svc.execute
857
891
  results.first.should be_a_kind_of(VMM::HardwareProfile)
858
892
  end
859
893
 
860
894
  it "should successfully return a collection of complex types" do
861
- svc = OData::Service.new "http://test.com/test.svc/", { :username => "blabla", :password=> "", :verify_ssl => false, :namespace => "VMM" }
895
+ svc = OData::Service.new "http://test.com/test.svc/", { :username => username, :password => password, :verify_ssl => false, :namespace => "VMM" }
862
896
  svc.HardwareProfiles.filter("Memory eq 3500")
863
897
  results = svc.execute
864
898
  granted_list = results.first.GrantedToList
@@ -869,14 +903,14 @@ module OData
869
903
 
870
904
 
871
905
  it "should successfully return results that include a collection of Edm types" do
872
- svc = OData::Service.new "http://test.com/test.svc/", { :username => "blabla", :password=> "", :verify_ssl => false, :namespace => "VMM" }
906
+ svc = OData::Service.new "http://test.com/test.svc/", { :username => username, :password => password, :verify_ssl => false, :namespace => "VMM" }
873
907
  svc.VMTemplates
874
908
  results = svc.execute
875
909
  results.first.should be_a_kind_of(VMM::VMTemplate)
876
910
  end
877
911
 
878
912
  it "should successfully return a collection of Edm types" do
879
- svc = OData::Service.new "http://test.com/test.svc/", { :username => "blabla", :password=> "", :verify_ssl => false, :namespace => "VMM" }
913
+ svc = OData::Service.new "http://test.com/test.svc/", { :username => username, :password => password, :verify_ssl => false, :namespace => "VMM" }
880
914
  svc.VMTemplates
881
915
  results = svc.execute
882
916
  boot_order = results.first.BootOrder
@@ -889,12 +923,12 @@ module OData
889
923
  describe "handling of nested expands" do
890
924
  before(:each) do
891
925
  stub_request(:get, "http://test.com/test.svc/$metadata").
892
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
893
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/nested_expands/edmx_northwind.xml", __FILE__)), :headers => {})
926
+ with(:headers => DEFAULT_HEADERS).
927
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/nested_expands/edmx_northwind.xml", __FILE__)), :headers => {})
894
928
 
895
929
  stub_request(:get, "http://test.com/test.svc/Products?$expand=Category,Category/Products&$top=2").
896
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
897
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/nested_expands/northwind_products_category_expands.xml", __FILE__)), :headers => {})
930
+ with(:headers => DEFAULT_HEADERS).
931
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/nested_expands/northwind_products_category_expands.xml", __FILE__)), :headers => {})
898
932
  end
899
933
 
900
934
  it "should successfully parse the results" do
@@ -937,12 +971,12 @@ module OData
937
971
  context "when results are found" do
938
972
  before(:each) do
939
973
  stub_request(:get, "http://test.com/test.svc/$metadata").
940
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
941
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
974
+ with(:headers => DEFAULT_HEADERS).
975
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
942
976
 
943
977
  stub_request(:get, "http://test.com/test.svc/Products?$select=Name,Price").
944
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
945
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_select_products_name_price.xml", __FILE__)), :headers => {})
978
+ with(:headers => DEFAULT_HEADERS).
979
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_select_products_name_price.xml", __FILE__)), :headers => {})
946
980
  end
947
981
 
948
982
  subject do
@@ -959,12 +993,12 @@ module OData
959
993
  context "when there isn't a property by the name specified" do
960
994
  before(:each) do
961
995
  stub_request(:get, "http://test.com/test.svc/$metadata").
962
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
963
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
996
+ with(:headers => DEFAULT_HEADERS).
997
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
964
998
 
965
999
  stub_request(:get, "http://test.com/test.svc/Categories?$select=Price").
966
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
967
- to_return(:status => 400, :body => File.new(File.expand_path("../fixtures/sample_service/result_select_categories_no_property.xml", __FILE__)), :headers => {})
1000
+ with(:headers => DEFAULT_HEADERS).
1001
+ to_return(:status => 400, :body => File.new(File.expand_path("../fixtures/sample_service/result_select_categories_no_property.xml", __FILE__)), :headers => {})
968
1002
  end
969
1003
 
970
1004
  it "raises an exception" do
@@ -980,16 +1014,16 @@ module OData
980
1014
  context "when a property requires $expand to traverse" do
981
1015
  before(:each) do
982
1016
  stub_request(:get, "http://test.com/test.svc/$metadata").
983
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
984
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
1017
+ with(:headers => DEFAULT_HEADERS).
1018
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/edmx_categories_products.xml", __FILE__)), :headers => {})
985
1019
 
986
1020
  stub_request(:get, "http://test.com/test.svc/Categories?$select=Name,Products/Name").
987
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
988
- to_return(:status => 400, :body => File.new(File.expand_path("../fixtures/sample_service/result_select_categories_travsing_no_expand.xml", __FILE__)), :headers => {})
1021
+ with(:headers => DEFAULT_HEADERS).
1022
+ to_return(:status => 400, :body => File.new(File.expand_path("../fixtures/sample_service/result_select_categories_travsing_no_expand.xml", __FILE__)), :headers => {})
989
1023
 
990
1024
  stub_request(:get, "http://test.com/test.svc/Categories?$select=Name,Products/Name&$expand=Products").
991
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
992
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_select_categories_expand.xml", __FILE__)), :headers => {})
1025
+ with(:headers => DEFAULT_HEADERS).
1026
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/sample_service/result_select_categories_expand.xml", __FILE__)), :headers => {})
993
1027
  end
994
1028
 
995
1029
  it "doesn't error" do
@@ -1010,13 +1044,14 @@ module OData
1010
1044
  end
1011
1045
  end
1012
1046
  end
1047
+
1013
1048
  describe_private OData::Service do
1014
1049
  describe "parse value" do
1015
1050
  before(:each) do
1016
1051
  # Required for the build_classes method
1017
1052
  stub_request(:get, "http://test.com/test.svc/$metadata").
1018
- with(:headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate'}).
1019
- to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_empty.xml", __FILE__)), :headers => {})
1053
+ with(:headers => DEFAULT_HEADERS).
1054
+ to_return(:status => 200, :body => File.new(File.expand_path("../fixtures/edmx_empty.xml", __FILE__)), :headers => {})
1020
1055
  end
1021
1056
 
1022
1057
  it "should not error on an 'out of range' date" do