Exemplo n.º 1
0
        public IActionResult Create([FromForm] LegalPersonViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _personService.Add(model);

                    return(RedirectToAction(nameof(Index)));
                }
            }
            catch (BusinessRuleException ex)
            {
                ModelState.AddModelError(ex.Key, ex.Message);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);

                ModelState.AddModelError(string.Empty, _sharedLocalizer["GenericErrorMessage"]);
            }

            ViewBag.CountryList = _addressService.GetContriesName();

            return(View(model));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Edit(int id, [FromForm] LegalPersonViewModel model)
        {
            if (id != model.Id)
            {
                return(NotFound());
            }

            try
            {
                if (ModelState.IsValid)
                {
                    await _personService.UpdateAsync(model);

                    return(RedirectToAction(nameof(Index)));
                }
            }
            catch (BusinessRuleException ex)
            {
                ModelState.AddModelError(ex.Key, ex.Message);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);

                ModelState.AddModelError(string.Empty, _sharedLocalizer["GenericErrorMessage"]);
            }

            ViewBag.CountryList = _addressService.GetContriesName();

            return(View(model));
        }
Exemplo n.º 3
0
        public IActionResult CreateLegalPerson(ClientCreateViewModel clientCreateViewModel)
        {
            var client = HttpContext.Session.Get <Client>("NewClientData");

            var legalPersonCreateViewModel = new LegalPersonViewModel()
            {
                Client = client
            };

            return(View(legalPersonCreateViewModel));
        }
Exemplo n.º 4
0
        public void Add(LegalPersonViewModel model)
        {
            if (!_personRepository.IsIdDocumentUnique(model.IdDocument))
            {
                throw new BusinessRuleException("IdDocument", "ID Document already informed.");
            }

            var person = new LegalPerson(model.CompanyName, model.TradeName, model.IdDocument)
            {
                Address = new Address(
                    model.Country, model.State, model.City, model.ZipCode, model.AddressLine1, model.AddressLine2)
            };

            _personRepository.Add(person);

            _personRepository.SaveChanges();
        }
Exemplo n.º 5
0
        public async Task <IActionResult> EditLegalPerson(LegalPersonViewModel legalPersonViewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var client      = legalPersonViewModel.Client;
                    var legalPerson = new LegalPerson
                    {
                        IdEdrpou      = legalPersonViewModel.Client.IdClient,
                        Director      = legalPersonViewModel.LegalPerson.Director,
                        Name          = legalPersonViewModel.LegalPerson.Name,
                        OwnershipType = legalPersonViewModel.LegalPerson.OwnershipType
                    };

                    await _clientRepository.UpdateAsync(entity : client);

                    await _legalPersonRepository.UpdateAsync(legalPerson);

                    var userId = HttpContext.Session.Get <string>(key: "IdIdentity");

                    var user = await _userManager.FindByIdAsync(userId : userId);

                    user.UserName    = legalPersonViewModel.Client.Login;
                    user.Email       = legalPersonViewModel.Client.Login;
                    user.PhoneNumber = legalPersonViewModel.Client.TelNumber;

                    await _userManager.UpdateAsync(user : user);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ClientExists(id: legalPersonViewModel.Client.IdClient))
                    {
                        return(NotFound());
                    }

                    throw;
                }

                return(RedirectToAction(actionName: nameof(Index)));
            }

            return(View(model: legalPersonViewModel));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> CreateLegalPerson(LegalPersonViewModel legalPersonViewModel)
        {
            if (ModelState.IsValid)
            {
                var client = legalPersonViewModel.Client;
                client.LegalPerson = legalPersonViewModel.LegalPerson;

                //Add new User to Identity
                var user = new IdentityUser()
                {
                    UserName    = legalPersonViewModel.Client.Login,
                    Email       = legalPersonViewModel.Client.Login,
                    PhoneNumber = legalPersonViewModel.Client.TelNumber
                };

                var password = HttpContext.Session.Get <string>(key: "PassClient");
                var result   = await _userManager.CreateAsync(user : user, password : password);

                if (result.Succeeded)
                {
                    //Set Roles CLIENT to new User
                    await _userManager.AddToRoleAsync(user : user, role : AuthorizationConstants.Roles.CLIENT);

                    //Add to tables Client and LegalPerson
                    await _clientRepository.AddAsync(entity : client);

                    if (HttpContext.User.IsInRole(AuthorizationConstants.Roles.ADMINISTRATOR))
                    {
                        return(RedirectToAction(actionName: nameof(Index)));
                    }

                    return(RedirectToAction("UserRegistered", "Account"));
                }

                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(key: string.Empty, errorMessage: error.Description);
                }
            }

            return(View(model: legalPersonViewModel));
        }
Exemplo n.º 7
0
        private void Open_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                if (Contractor == null)
                {
                    Contractor = new Contractor()
                    {
                        City   = new City(),
                        Region = new Region()
                    }
                }
                ;

                if (Contractor.LegalPerson == null)
                {
                    var viewModel = new ContractorInfoViewModel(Contractor, this);

                    var view = new ContractorInfoView(viewModel);

                    view.ShowDialog();

                    OnPropertyChanged("ContractorSignature");
                }
                else
                {
                    var viewModel = new LegalPersonViewModel(Contractor, this);

                    var view = new LegalPersonInfoView(viewModel);

                    view.ShowDialog();

                    OnPropertyChanged("ContractorSignature");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemplo n.º 8
0
        public async Task <IActionResult> CreateLegalPerson(LegalPersonViewModel legalPersonViewModel)
        {
            if (ModelState.IsValid)
            {
                var client = legalPersonViewModel.Client;
                client.LegalPerson = legalPersonViewModel.LegalPerson;

                //Add to tables Client and LegalPerson
                await Repository.AddAsync(client);

                //Add new User to Identity
                ApplicationUser user = new ApplicationUser()
                {
                    UserName    = legalPersonViewModel.Client.Login,
                    Email       = legalPersonViewModel.Client.Login,
                    PhoneNumber = legalPersonViewModel.Client.TelNumber
                };

                var password = HttpContext.Session.Get <string>("PassClient");
                var result   = await _userManager.CreateAsync(user, password);

                if (result.Succeeded)
                {
                    //Set Roles CLIENT to new User
                    await _userManager.AddToRoleAsync(user, AuthorizationConstants.Roles.CLIENT);

                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError(string.Empty, error.Description);
                    }
                }
            }

            return(View(legalPersonViewModel));
        }
Exemplo n.º 9
0
        public async Task UpdateAsync(LegalPersonViewModel model)
        {
            var person = await _personRepository.GetAsync(model.Id);

            if (person == null)
            {
                return;
            }

            person.CompanyName = model.CompanyName;
            person.TradeName   = model.TradeName;
            person.SetIdDocument(model.IdDocument);

            // Address is optional, if country not informed delete address entity
            if (!string.IsNullOrWhiteSpace(model.Country))
            {
                if (person.Address == null)
                {
                    person.Address = new Address(
                        model.Country, model.State, model.City, model.ZipCode, model.AddressLine1, model.AddressLine2);
                }
                else
                {
                    person.Address.ChangeAddress(
                        model.Country, model.State, model.City, model.ZipCode, model.AddressLine1, model.AddressLine2);
                }
            }
            else
            {
                person.Address = null;
            }

            _personRepository.Update(person);

            _personRepository.SaveChanges();
        }
Exemplo n.º 10
0
        public async Task <IActionResult> EditLegalPerson(LegalPersonViewModel legalPersonViewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var client = legalPersonViewModel.Client;
                    client.LegalPerson = legalPersonViewModel.LegalPerson;

                    await Repository.UpdateAsync(client);

                    var userId = HttpContext.Session.Get <string>("IdIdentity");

                    var user = await _userManager.FindByIdAsync(userId);

                    user.UserName    = legalPersonViewModel.Client.Login;
                    user.Email       = legalPersonViewModel.Client.Login;
                    user.PhoneNumber = legalPersonViewModel.Client.TelNumber;

                    await _userManager.UpdateAsync(user);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ClientExists(id: legalPersonViewModel.Client.Id))
                    {
                        return(NotFound());
                    }

                    throw;
                }

                return(RedirectToAction(actionName: nameof(Index)));
            }

            return(View(legalPersonViewModel));
        }
Exemplo n.º 11
0
        private async Task SignUpAsync()
        {
            var success = false;

            try
            {
                switch (PersonType)
                {
                case PersonType.NaturalPerson:
                    // set naturalPerson values
                    NaturalPersonViewModel.NaturalPerson.PrimaryEmail =
                        CredentialViewModel.UserCredential.PrimaryEmail;
                    NaturalPersonViewModel.Password = CredentialViewModel.UserCredential.Password;

                    // first validate naturalPersonViewModel and credentialViewModel
                    //
                    this.IsPersonValid     = NaturalPersonViewModel.ValidateForm();
                    this.IsCredentialValid = CredentialViewModel.ValidateForm();

                    // if validation is true signup person
                    if (this.IsPersonValid && this.IsCredentialValid)
                    {
                        await NaturalPersonViewModel.ProcessFormAsync();

                        success = true;
                    }
                    break;

                case PersonType.LegalPerson:
                    // set legalPerson values
                    LegalPersonViewModel.LegalPerson.PrimaryEmail = CredentialViewModel.UserCredential.PrimaryEmail;
                    LegalPersonViewModel.Password = CredentialViewModel.UserCredential.Password;

                    // first validate naturalPersonViewModel and credentialViewModel
                    //
                    this.IsPersonValid     = LegalPersonViewModel.ValidateForm();
                    this.IsCredentialValid = CredentialViewModel.ValidateForm();

                    // if validation is true signup person
                    if (this.IsPersonValid && this.IsCredentialValid)
                    {
                        await LegalPersonViewModel.ProcessFormAsync();

                        success = true;
                    }
                    break;

                case PersonType.None:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                //if success clear sencetive information from memory and navigate to confirm registration page
                if (success)
                {
                    NaturalPersonViewModel.Password = LegalPersonViewModel.Password = null;
                    _navigationService.Navigate(ViewNames.ConfirmRegistration, null);
                }
            }
            catch (Exception)
            {
                await
                _alertMessageService.ShowAsync(_resourceLoader.GetString("ErrorServiceUnreachable"), null,
                                               DialogCommands.CloseDialogCommand);
            }
        }
Exemplo n.º 12
0
        public LegalPersonInfoView(LegalPersonViewModel viewModel)
        {
            InitializeComponent();

            DataContext = viewModel;
        }