Beispiel #1
0
        /// <summary>
        /// Erstellt einen neuen Kunden.
        /// </summary>
        /// <param name="name">Name des Kunden.</param>
        /// <param name="street">Straße.</param>
        /// <param name="streetnumber">Hausnummer.</param>
        /// <param name="zipcode">Postleitzahl.</param>
        /// <param name="city">Ort.</param>
        /// <param name="country">Land.</param>
        /// <param name="phone">Telefonnummer.</param>
        /// <param name="fax">Faxnummer.</param>
        /// <param name="mobilephone">Mobiltelefonnummer.</param>
        /// <param name="email">E-Mailadresse.</param>
        /// <param name="vat">Mehrwersteuersatz.</param>
        /// <param name="termOfCredit">Zahlungsziel (in Tagen).</param>
        /// <param name="customerNumber">Kundennummer.</param>
        /// <returns>Den Kunden.</returns>
        /// <remarks>Methode soll nur für interne Zwecke benutzt werden. Die public Create-Methoden befinden sich in den spezialisierten Kundenklassen.</remarks>
        internal static Customer CreateCustomer(string name, string street, string streetnumber, string zipcode, string city, string country, string phone, string fax, string mobilephone, string email, decimal vat, int? termOfCredit, string customerNumber, string Matchcode="", string Debitornumber="", string eVB_Number="")
        {
            if (string.IsNullOrEmpty(customerNumber))
            {
                throw new ArgumentNullException("Die Kundennummer darf nicht leer sein.");
            }

            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException("Der Kundenname darf nicht leer sein.");
            }

            var adress = new Adress()
            {
                Street = street,
                StreetNumber = streetnumber,
                City = city,
                Country = country,
                Zipcode = zipcode
            };

            var contact = new Contact()
            {
                Phone = phone,
                Fax = fax,
                MobilePhone = mobilephone,
                Email = email
            };

            var customer = new Customer()
            {
                Name = name,
                Adress = adress,
                Contact = contact,
                VAT = vat,
                InvoiceAdress = adress,
                InvoiceDispatchAdress = adress,
                TermOfCredit = termOfCredit,
                CustomerNumber = customerNumber,
                MatchCode = Matchcode,
                Debitornumber = Debitornumber,
                eVB_Number = eVB_Number
            };

            return customer;
        }
		private void attach_Customer1(Customer entity)
		{
			this.SendPropertyChanging();
			entity.InvoiceAdress = this;
		}
		private void detach_Customer2(Customer entity)
		{
			this.SendPropertyChanging();
			entity.InvoiceDispatchAdress = null;
		}
		private void detach_Customer(Customer entity)
		{
			this.SendPropertyChanging();
			entity.Adress = null;
		}
 partial void DeleteCustomer(Customer instance);
 partial void UpdateCustomer(Customer instance);
 partial void InsertCustomer(Customer instance);
		private void attach_Customer(Customer entity)
		{
			this.SendPropertyChanging();
			entity.Contact = this;
		}