Exemplo n.º 1
0
        public RegisterViewModel(IFaceServiceClient client, IDialogService dialogService, string group)
        {
            this.client = client;
            this.group  = group;
            var fileSelector = new ObservableFileSelector();

            SelectImagesCommand = fileSelector.SelectFilesCommand;
            var imageSelector = new ImageSelector(fileSelector.SelectFilesCommand);

            imagesHelper = imageSelector.Images.ToProperty(this, r => r.Images);

            LoadPeopleCommand = ReactiveCommand.CreateFromTask(LoadPeople);
            LoadPeopleCommand.HandleErrors(dialogService);
            var canRegister = this
                              .WhenAnyValue(x => x.Name, x => x.Images, (name, images) => new { name, images })
                              .Select(x => !string.IsNullOrEmpty(x.name) && x.images != null && x.images.Any());

            RegisterPersonCommand = ReactiveCommand.CreateFromTask(RegisterPerson, canRegister);
            RegisterPersonCommand.HandleErrors(dialogService);

            peopleHelper = LoadPeopleCommand.Select(people => people.Select(person => new PersonViewModel(person, client, group, dialogService)).ToList()).ToProperty(this, r => r.People);

            busyObs = Observable
                      .Merge(new [] { RegisterPersonCommand.IsExecuting, LoadPeopleCommand.IsExecuting })
                      .ToProperty(this, model => model.IsBusy);

            MessageBus.Current.Listen <PersonDeletedMessage>()
            .Select(x => Unit.Default)
            .InvokeCommand(this, model => model.LoadPeopleCommand);

            RegisterPersonCommand
            .Select(x => Unit.Default)
            .InvokeCommand(LoadPeopleCommand);
        }
Exemplo n.º 2
0
        public void Ctor_should_properly_initialise_instance()
        {
            var personId  = Guid.Empty;
            var firstName = "Martin";
            var lastName  = "Gore";
            var nationalIdentificationNumber = "FAKE";
            var vatNumber        = "123";
            var address          = "Via Torino 51";
            var city             = "Milan";
            var postalCode       = "20123";
            var province         = "MI";
            var country          = "Italy";
            var phoneNumber      = "405040420";
            var mobileNumber     = "527452042";
            var faxNumber        = "0405763872";
            var websiteAddress   = "http://www.info.com";
            var emailAddress     = "*****@*****.**";
            var instantMessaging = "@im";
            var sut = new RegisterPersonCommand(firstName, lastName, nationalIdentificationNumber, vatNumber, address, city, postalCode, province, country, phoneNumber, mobileNumber, faxNumber, websiteAddress, emailAddress, instantMessaging);

            Assert.AreEqual(personId, sut.PersonId);
            Assert.AreEqual(firstName, sut.FirstName);
            Assert.AreEqual(lastName, sut.LastName);
            Assert.AreEqual(nationalIdentificationNumber, sut.NationalIdentificationNumber);
            Assert.AreEqual(vatNumber, sut.VatNumber);
            Assert.AreEqual(address, sut.Address);
            Assert.AreEqual(city, sut.City);
            Assert.AreEqual(postalCode, sut.PostalCode);
            Assert.AreEqual(province, sut.Province);
            Assert.AreEqual(country, sut.Country);
        }
Exemplo n.º 3
0
        public async Task RegisterPersonAsync(RegisterModel model)
        {
            var userId = Guid.NewGuid();
            var nationalIdentificationNumber = string.IsNullOrWhiteSpace(model.NationalIdentificationNumber) ? default(string) : model.NationalIdentificationNumber.Trim().ToUpper();

            var command = new RegisterPersonCommand(
                userId,
                model.FirstName,
                model.LastName,
                nationalIdentificationNumber,
                model.VatNumber,
                model.Address.Address,
                model.Address.City,
                model.Address.PostalCode,
                model.Address.Province,
                model.Address.Country,
                model.Address.Address,
                model.Address.City,
                model.Address.PostalCode,
                model.Address.Province,
                model.Address.Country,
                model.Address.Address,
                model.Address.City,
                model.Address.PostalCode,
                model.Address.Province,
                model.Address.Country,
                null, null, null, null, null, null);

            await Bus.Send(command);
        }
        public void AddEntry(AddEntryViewModel model)
        {
            var nationalIdentificationNumber = string.IsNullOrWhiteSpace(model.NationalIdentificationNumber) ? default(string) : model.NationalIdentificationNumber.Trim().ToUpper();
            var command = new RegisterPersonCommand(
                model.FirstName,
                model.LastName,
                nationalIdentificationNumber,
                model.VatNumber,

                model.Address.Address,
                model.Address.City,
                model.Address.PostalCode,
                model.Address.Province,
                model.Address.Country,

                model.PhoneNumber,
                model.MobileNumber,
                model.FaxNumber,
                model.WebsiteAddress,
                model.EmailAddress,
                model.InstantMessaging
                );

            Bus.Send(command);
        }
Exemplo n.º 5
0
        public async Task Handle(RegisterPersonCommand message)
        {
            var country = string.IsNullOrWhiteSpace(message.Address) || !string.IsNullOrWhiteSpace(message.Country) ? message.Country : _defaultCountryResolver.GetDefaultCountry();
            var person  = Person.Factory.CreateNewEntry(message.FirstName, message.LastName, message.NationalIdentificationNumber, message.VatNumber, message.Address, message.City, message.PostalCode, message.Province, country, message.PhoneNumber, message.MobileNumber, message.FaxNumber, message.WebsiteAddress, message.EmailAddress, message.InstantMessaging);
            await _repository.SaveAsync(person);

            this.Data.PersonId = person.Id;
        }
Exemplo n.º 6
0
        public async Task RegisterPartyAsync(RegisterModel model)
        {
            Command command;
            var     userId = GetCurrentUserId();
            var     nationalIdentificationNumber = string.IsNullOrWhiteSpace(model.NationalIdentificationNumber) ? default(string) : model.NationalIdentificationNumber.Trim().ToUpper();

            if (string.IsNullOrWhiteSpace(model.FirstName))
            {
                command = new RegisterCompanyCommand(
                    userId,
                    model.LastNameOrCompanyName,
                    nationalIdentificationNumber,
                    model.VatNumber,
                    model.Address.Address,
                    model.Address.PostalCode,
                    model.Address.City,
                    model.Address.Province,
                    model.Address.Country,
                    model.Address.Address,
                    model.Address.PostalCode,
                    model.Address.City,
                    model.Address.Province,
                    model.Address.Country,
                    model.Address.Address,
                    model.Address.PostalCode,
                    model.Address.City,
                    model.Address.Province,
                    model.Address.Country,
                    null, null, null, null, null, null);
            }
            else
            {
                command = new RegisterPersonCommand(
                    userId,
                    model.FirstName,
                    model.LastNameOrCompanyName,
                    nationalIdentificationNumber,
                    model.VatNumber,
                    model.Address.Address,
                    model.Address.PostalCode,
                    model.Address.City,
                    model.Address.Province,
                    model.Address.Country,
                    model.Address.Address,
                    model.Address.PostalCode,
                    model.Address.City,
                    model.Address.Province,
                    model.Address.Country,
                    model.Address.Address,
                    model.Address.PostalCode,
                    model.Address.City,
                    model.Address.Province,
                    model.Address.Country,
                    null, null, null, null, null, null);
            }

            await Bus.Send(command);
        }
Exemplo n.º 7
0
 public Task Handle(RegisterPersonCommand message)
 {
     return(Task.Factory.StartNew(() =>
     {
         var person = Person.Factory.CreateNewEntry(message.FirstName, message.LastName, message.DateOfBirth);
         _repository.Save <Person>(person);
         this.Data.PersonId = person.Id;
     }));
 }
Exemplo n.º 8
0
        public async Task <ActionResult <PersonDto> > RegisterUser([FromBody] RegisterPersonCommand registerPersonCommand)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new ErrorResponse(ModelState)));
            }

            var user = await _mediator.Send(registerPersonCommand);

            return(Created(Url.Action(nameof(GetUserByIdAsync), new { id = user.Id }), user));
        }
Exemplo n.º 9
0
 public Task Handle(RegisterPersonCommand message)
 {
     return(Task.Factory.StartNew(() =>
     {
         var person = Person.Factory.CreateNewEntry(message.FirstName, message.LastName, message.NationalIdentificationNumber, message.VatNumber);
         if (!string.IsNullOrWhiteSpace(message.Address) && !string.IsNullOrWhiteSpace(message.City))
         {
             person.SetAddress(message.Address, message.City, message.PostalCode, message.Province, !string.IsNullOrWhiteSpace(message.Country) ? message.Country : _defaultCountryResolver.GetDefaultCountry());
         }
         person.SetContactInfo(message.PhoneNumber, message.MobileNumber, message.FaxNumber, message.WebsiteAddress, message.EmailAddress, message.InstantMessaging);
         _repository.Save <Person>(person);
         this.Data.PersonId = person.Id;
     }));
 }
Exemplo n.º 10
0
        public async Task AddEntryAsync(AddEntryModel model)
        {
            var userId = GetCurrentUserId();

            var nationalIdentificationNumber = string.IsNullOrWhiteSpace(model.NationalIdentificationNumber) ? default(string) : model.NationalIdentificationNumber.Trim().ToUpper();

            var shippingAddressAddress    = model.AcquireShippingAddressFromLegalAddress ? model.LegalAddress.Address : model.ShippingAddress.Address;
            var shippingAddressPostalCode = model.AcquireShippingAddressFromLegalAddress ? model.LegalAddress.PostalCode : model.ShippingAddress.PostalCode;
            var shippingAddressCity       = model.AcquireShippingAddressFromLegalAddress ? model.LegalAddress.City : model.ShippingAddress.City;
            var shippingAddressProvince   = model.AcquireShippingAddressFromLegalAddress ? model.LegalAddress.Province : model.ShippingAddress.Province;
            var shippingAddressCountry    = model.AcquireShippingAddressFromLegalAddress ? model.LegalAddress.Country : model.ShippingAddress.Country;

            var billingAddressAddress    = model.AcquireBillingAddressFromLegalAddress ? model.LegalAddress.Address : model.BillingAddress.Address;
            var billingAddressPostalCode = model.AcquireBillingAddressFromLegalAddress ? model.LegalAddress.PostalCode : model.BillingAddress.PostalCode;
            var billingAddressCity       = model.AcquireBillingAddressFromLegalAddress ? model.LegalAddress.City : model.BillingAddress.City;
            var billingAddressProvince   = model.AcquireBillingAddressFromLegalAddress ? model.LegalAddress.Province : model.BillingAddress.Province;
            var billingAddressCountry    = model.AcquireBillingAddressFromLegalAddress ? model.LegalAddress.Country : model.BillingAddress.Country;

            var command = new RegisterPersonCommand(
                userId,
                model.FirstName,
                model.LastName,
                nationalIdentificationNumber,
                model.VatNumber,
                model.LegalAddress.Address,
                model.LegalAddress.City,
                model.LegalAddress.PostalCode,
                model.LegalAddress.Province,
                model.LegalAddress.Country,
                shippingAddressAddress,
                shippingAddressPostalCode,
                shippingAddressCity,
                shippingAddressProvince,
                shippingAddressCountry,
                billingAddressAddress,
                billingAddressPostalCode,
                billingAddressCity,
                billingAddressProvince,
                billingAddressCountry,
                model.PhoneNumber,
                model.MobileNumber,
                model.FaxNumber,
                model.WebsiteAddress,
                model.EmailAddress,
                model.InstantMessaging
                );

            await Bus.Send(command);
        }
        private async Task SeedPerson()
        {
            try
            {
                var command = new RegisterPersonCommand()
                {
                    UserName     = "******",
                    Password     = "******",
                    EmailAddress = "*****@*****.**",
                    FirstName    = "John",
                    LastName     = "Doe",
                    HomeAddress  = new AddressDto()
                    {
                        City    = "New York",
                        Country = "US",
                        Street  = "160 Convent Ave.",
                        ZipCode = "18064",
                        State   = "New York"
                    },
                    MailingAddress = new AddressDto()
                    {
                        City    = "New York",
                        Country = "US",
                        Street  = "161 Convent Ave.",
                        ZipCode = "18064",
                        State   = "New York"
                    }
                };

                var result = await _mediator.Send(command);

                var hireCommand = new HirePersonCommand(result.Id, new JobTitleDto()
                {
                    Name = "Database Administrator"
                });
                await _mediator.Publish(hireCommand);
            }
            catch (PersonnelDomainException e)
            {
                _logger.LogError(e.Message);
            };
        }
Exemplo n.º 12
0
        public void AddEntry(AddEntryViewModel model)
        {
            var command = new RegisterPersonCommand(
                model.FirstName,
                model.LastName,
                model.NationalIdentificationNumber,
                model.VatNumber,

                model.Address.Address,
                model.Address.City,
                model.Address.PostalCode,
                model.Address.Province,
                model.Address.Country,

                model.PhoneNumber,
                model.MobileNumber,
                model.FaxNumber,
                model.WebsiteAddress,
                model.EmailAddress,
                model.InstantMessaging
                );

            Bus.Send(command);
        }
Exemplo n.º 13
0
        public void AddEntry(AddEntryViewModel model)
        {
            var command = new RegisterPersonCommand(model.FirstName, model.LastName, model.DateOfBirth);

            Bus.Send(command);
        }
Exemplo n.º 14
0
        public IActionResult Register([FromBody] RegisterPersonCommand registerPersonCommand)
        {
            var newPerson = new Person(Guid.NewGuid(), registerPersonCommand.FirstName, registerPersonCommand.LastName, registerPersonCommand.DateOfBirth);

            return(Ok(newPerson));
        }
Exemplo n.º 15
0
        public async Task <IActionResult> Post(RegisterPersonCommand register)
        {
            var response = await _mediator.Send(register);

            return(Ok(response));
        }