public async Task Handle(ImportCompanyCommand message) { var legalAddressIsDefined = !string.IsNullOrWhiteSpace(message.LegalAddressAddress); var legalAddressAddress = legalAddressIsDefined ? message.LegalAddressAddress : null; var legalAddressCity = legalAddressIsDefined ? message.LegalAddressCity : null; var legalAddressPostalCode = legalAddressIsDefined ? message.LegalAddressPostalCode : null; var legalAddressProvince = legalAddressIsDefined ? message.LegalAddressProvince : null; var legalAddressCountry = legalAddressIsDefined ? !string.IsNullOrWhiteSpace(message.LegalAddressCountry) ? message.LegalAddressCountry : _defaultCountryResolver.GetDefaultCountry() : null; var company = Company.Factory.CreateNewEntryByImport(message.CompanyId, message.RegistrationDate, message.CompanyName, message.VatNumber, message.NationalIdentificationNumber, legalAddressAddress, legalAddressCity, legalAddressPostalCode, legalAddressProvince, legalAddressCountry, message.BillingAddressAddress, message.BillingAddressCity, message.BillingAddressPostalCode, message.BillingAddressProvince, message.BillingAddressCountry, message.ShippingAddressAddress, message.ShippingAddressCity, message.ShippingAddressPostalCode, message.ShippingAddressProvince, message.ShippingAddressCountry); if (message.MainContactId.HasValue) { Thread.Sleep(10); company.AssociateMainContact(message.MainContactId.Value, Guid.Empty); } if (message.AdministrativeContactId.HasValue) { Thread.Sleep(10); company.AssociateAdministrativeContact(message.AdministrativeContactId.Value, Guid.Empty); } if (!string.IsNullOrWhiteSpace(message.PhoneNumber) || !string.IsNullOrWhiteSpace(message.FaxNumber) || !string.IsNullOrWhiteSpace(message.WebsiteAddress) || !string.IsNullOrWhiteSpace(message.EmailAddress)) { Thread.Sleep(10); company.SetContactInfo(message.PhoneNumber, null, message.FaxNumber, message.WebsiteAddress, message.EmailAddress, null, Guid.Empty); } await _repository.SaveAsync(company); this.Data.CompanyId = company.Id; }
public Task Handle(ImportCompanyCommand message) { return(Task.Factory.StartNew(() => { var company = Company.Factory.CreateNewEntryByImport(message.CompanyId, message.CompanyName, message.VatNumber, message.NationalIdentificationNumber); _repository.Save(company); this.Data.CompanyId = company.Id; })); }
public Task Handle(ImportCompanyCommand message) { return(Task.Factory.StartNew(() => { var country = string.IsNullOrWhiteSpace(message.Address) || !string.IsNullOrWhiteSpace(message.Country) ? message.Country : _defaultCountryResolver.GetDefaultCountry(); var company = Company.Factory.CreateNewEntryByImport(message.CompanyId, message.CompanyName, message.VatNumber, message.NationalIdentificationNumber, message.Address, message.City, message.PostalCode, message.Province, country); _repository.Save(company); this.Data.CompanyId = company.Id; })); }
public void Ctor_should_properly_initialise_instance() { var companyId = Guid.NewGuid(); var companyName = "Mastreeno ltd"; var nationalIdentificationNumber = "FAKE"; var vatNumber = "123"; var address = "Via Torino 51"; var city = "Milan"; var postalCode = "20123"; var province = "MI"; var country = "Italy"; var mainContactId = Guid.NewGuid(); var administrativeContactId = Guid.NewGuid(); var phoneNumber = "0123456789"; var faxNumber = "012345679"; var websiteAddress = "www.info.com"; var emailAddress = "*****@*****.**"; var command = new ImportCompanyCommand(companyId, DateTime.Now, companyName, nationalIdentificationNumber, vatNumber, address, postalCode, city, province, country, address, postalCode, city, province, country, address, postalCode, city, province, country, mainContactId, administrativeContactId, phoneNumber, faxNumber, websiteAddress, emailAddress); Assert.Equal(companyId, command.CompanyId); Assert.Equal(companyName, command.CompanyName); Assert.Equal(nationalIdentificationNumber, command.NationalIdentificationNumber); Assert.Equal(vatNumber, command.VatNumber); Assert.Equal(address, command.LegalAddressAddress); Assert.Equal(city, command.LegalAddressCity); Assert.Equal(postalCode, command.LegalAddressPostalCode); Assert.Equal(province, command.LegalAddressProvince); Assert.Equal(country, command.LegalAddressCountry); Assert.Equal(mainContactId, command.MainContactId); Assert.Equal(administrativeContactId, command.AdministrativeContactId); Assert.Equal(phoneNumber, command.PhoneNumber); Assert.Equal(faxNumber, command.FaxNumber); Assert.Equal(websiteAddress, command.WebsiteAddress); Assert.Equal(emailAddress, command.EmailAddress); }
public async Task ImportCompanyAsync(ImportCompanyModel model) { var nationalIdentificationNumber = string.IsNullOrWhiteSpace(model.NationalIdentificationNumber) ? default(string) : model.NationalIdentificationNumber.Trim().ToUpper(); var legalAddressAddress = model.LegalAddressAddress; var legalAddressPostalCode = model.LegalAddressPostalCode; var legalAddressCity = model.LegalAddressCity; var legalAddressProvince = model.LegalAddressProvince; var legalAddressCountry = model.LegalAddressCountry; var shippingAddressAddress = model.ShippingAddressAddress; var shippingAddressPostalCode = model.ShippingAddressPostalCode; var shippingAddressCity = model.ShippingAddressCity; var shippingAddressProvince = model.ShippingAddressProvince; var shippingAddressCountry = model.ShippingAddressCountry; var billingAddressAddress = model.BillingAddressAddress; var billingAddressPostalCode = model.BillingAddressPostalCode; var billingAddressCity = model.BillingAddressCity; var billingAddressProvince = model.BillingAddressProvince; var billingAddressCountry = model.BillingAddressCountry; var phoneNumber = model.PhoneNumber; var faxNumber = model.FaxNumber; var websiteAddress = model.WebsiteAddress; var emailAddress = model.EmailAddress; Guid?mainContactId = default(Guid?); Guid?administrativeContactId = default(Guid?); var command = new ImportCompanyCommand( model.UserId, model.CompanyId, model.RegistrationDate, model.CompanyName, nationalIdentificationNumber, model.VatNumber, model.LegalAddressAddress, model.LegalAddressPostalCode, model.LegalAddressCity, model.LegalAddressProvince, model.LegalAddressCountry, model.ShippingAddressAddress, model.ShippingAddressPostalCode, model.ShippingAddressCity, model.ShippingAddressProvince, model.ShippingAddressCountry, model.BillingAddressAddress, model.BillingAddressPostalCode, model.BillingAddressCity, model.BillingAddressProvince, model.BillingAddressCountry, mainContactId, administrativeContactId, model.PhoneNumber, model.FaxNumber, model.WebsiteAddress, model.EmailAddress ); await Bus.Send(command); }