public async Task <Result> Handle(UpdateBusinessLegalCommand request, CancellationToken token) { var legalAddress = new LegalAddress(request.Address.Line1, request.Address.Line2, request.Address.Zipcode, request.Address.City, request.Address.Country); var ownerAddress = new OwnerAddress(request.Owner.Address.Line1, request.Owner.Address.Line2, request.Owner.Address.Zipcode, request.Owner.Address.City, request.Owner.Address.Country ); var legal = await _context.Set <BusinessLegal>().SingleAsync(e => e.Id == request.LegalId, token); legal.SetKind(request.Kind); legal.SetValidation(request.Validation); legal.SetName(request.Name); legal.SetEmail(request.Email); legal.SetAddress(legalAddress); legal.SetSiret(request.Siret); legal.SetVatIdentifier(request.VatIdentifier); legal.Owner.SetFirstname(request.Owner.FirstName); legal.Owner.SetLastname(request.Owner.LastName); legal.Owner.SetEmail(request.Owner.Email); legal.Owner.SetBirthDate(request.Owner.BirthDate); legal.Owner.SetNationality(request.Owner.Nationality); legal.Owner.SetCountryOfResidence(request.Owner.CountryOfResidence); legal.Owner.SetAddress(ownerAddress); await _context.SaveChangesAsync(token); if (string.IsNullOrWhiteSpace(legal.User.Identifier)) { var userResult = await _mediatr.Process( new CheckBusinessLegalConfigurationCommand(request.RequestUser) { UserId = legal.UserId }, token); if (!userResult.Succeeded) { return(Failure(userResult)); } } else { var result = await _pspService.UpdateBusinessAsync(legal, token); if (!result.Succeeded) { return(Failure(result)); } } return(Success()); }
private async Task <LegalAddress> BuildLegalAddress(LegalAddress model, string userId) { LegalAddress legalAddress = await _db.LegalAddresses.FirstOrDefaultAsync(l => l.UserId == userId); legalAddress.Index = model.Index; legalAddress.Country = model.Country; legalAddress.Region = model.Region; legalAddress.City = model.City; legalAddress.Address = model.Address; return(legalAddress); }
public async Task <IActionResult> UpdateInfo(string cityphone, string postalCity, string postalRegion, string legalCity, string legalRegion, string apiKey) { string userId = _userManager.GetUserId(User); LegalAddress legalAddress = await _db.LegalAddresses.FirstOrDefaultAsync(l => l.UserId == userId); PostalAddress postalAddress = await _db.PostalAddresses.FirstOrDefaultAsync(p => p.UserId == userId); if (!(legalCity is null)) { legalAddress.City = legalCity; } if (!(legalRegion is null)) { legalAddress.Region = legalRegion; } if (!(postalCity is null)) { postalAddress.City = postalRegion; } if (!(postalCity is null)) { postalAddress.Region = postalCity; } if (!(cityphone is null)) { User user = await _db.Users.FirstOrDefaultAsync(u => u.Id == userId); user.CityPhone = cityphone; _db.Users.Update(user); } if (!(apiKey is null)) { User user = await _db.Users.FirstOrDefaultAsync(u => u.Id == userId); user.GoogleMapsApi = apiKey; _db.Users.Update(user); } _db.LegalAddresses.Update(legalAddress); _db.PostalAddresses.Update(postalAddress); await _db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <IActionResult> EditRegistrantInfo(SuperAdminIndexViewModel model) { // if (ModelState.IsValid) // { // _db.Users.Update(model.User); User user = await BuildUser(model.User); LegalAddress legalAddress = await BuildLegalAddress(model.User.LegalAddress, model.User.Id); PostalAddress postalAddress = await BuildPostalAddress(model.User.PostalAddress, model.User.Id); _db.LegalAddresses.Update(legalAddress); _db.PostalAddresses.Update(postalAddress); _db.Users.Update(user); await _db.SaveChangesAsync(); return(RedirectToAction("Index")); // } // return NotFound(); }
public async Task <Result <Guid> > Handle(CreateBusinessLegalCommand request, CancellationToken token) { var business = await _context.Businesses.SingleAsync(e => e.Id == request.UserId, token); var owner = new Owner( request.Owner.FirstName, request.Owner.LastName, request.Owner.Email ); owner.SetNationality(request.Owner.Nationality); owner.SetBirthDate(request.Owner.BirthDate); owner.SetCountryOfResidence(request.Owner.CountryOfResidence); var ownerAddress = request.Owner.Address != null ? new OwnerAddress(request.Owner.Address.Line1, request.Owner.Address.Line2, request.Owner.Address.Zipcode, request.Owner.Address.City, request.Owner.Address.Country) : null; if (ownerAddress != null) { owner.SetAddress(ownerAddress); } var billingAddress = request.Billing != null ? new BillingAddress(request.Billing.Line1, request.Billing.Line2, request.Billing.Zipcode, request.Billing.City, request.Billing.Country, request.Billing.Name) : null; var legalAddress = new LegalAddress(request.Address.Line1, request.Address.Line2, request.Address.Zipcode, request.Address.City, request.Address.Country); var legals = business.SetLegals( request.Kind, request.Name, request.Email, request.Siret, request.VatIdentifier, legalAddress, billingAddress, owner, request.RegistrationCity, request.RegistrationCode, request.RegistrationKind); await _context.SaveChangesAsync(token); if (business.Kind != ProfileKind.Store) { if (string.IsNullOrWhiteSpace(business.Identifier)) { var userResult = await _mediatr.Process( new CheckBusinessLegalConfigurationCommand(request.RequestUser) { UserId = business.Id }, token); if (!userResult.Succeeded) { return(Failure <Guid>(userResult)); } } else { var result = await _pspService.UpdateBusinessAsync(legals, token); if (!result.Succeeded) { return(Failure <Guid>(result)); } } } return(Success(legals.Id)); }