public async Task <bool> CreateFromDtoAsync(PartnerForRegistration partnerDto, User user) { var partner = _mapper.Map <Domain.Partner>(partnerDto); var filial = _mapper.Map <Domain.Filial>(partnerDto.Filial); filial.IsMainOffice = true; if (partner.User == null) { partner.User = user; partner.UserId = user.Id; } partner.DateOfRegistration = DateTime.Now; if (partner.CustomersBalances == null) { partner.CustomersBalances = new List <CustomersBalance>(); } if (partner.Filials == null) { partner.Filials = new List <Domain.Filial>(); } partner.Filials.Add(filial); if (partner.News == null) { partner.News = new List <News>(); } if (partner.PremiumDiscounts == null) { partner.PremiumDiscounts = new List <PremiumDiscount>(); } if (partner.StandartDiscounts == null) { partner.StandartDiscounts = new List <StandartDiscount>(); } if (partner.MyCustomers == null) { partner.MyCustomers = new List <FavoritePartners>(); } if (partner.Reviews == null) { partner.Reviews = new List <Review>(); } try { await _partnerRepository.Add(partner); } catch (Exception) { return(false); } return(true); }
public async Task <bool> CreateFromDtoAsync(PartnerForRegistration partnerDto, User user) { var partner = _mapper.Map <Domain.Partner>(partnerDto); var filial = _mapper.Map <Domain.Filial>(partnerDto.Filial); filial.IsMainOffice = true; partner.UserId = user.Id; partner.DateOfRegistration = DateTime.Now; partner.Filials = new List <Filial>() { filial }; try { await _partnerRepository.Add(partner); } catch (Exception) { return(false); } return(true); }
public async Task <bool> PartnerRegistration(PartnerForRegistration partnerDto) { var user = new User { Email = partnerDto.Email, UserName = partnerDto.UserName, PhoneNumber = partnerDto.PhoneNumber }; var userCreating = await _userManager.CreateAsync(user, partnerDto.Password); if (userCreating.Succeeded) { await _userManager.AddToRoleAsync(user, "Partner"); var partnerCreating = await _partnerService.CreateFromDtoAsync(partnerDto, user); if (!partnerCreating) { await _userManager.DeleteAsync(user); } return(partnerCreating); } else { return(userCreating.Succeeded); } }
public async Task <IActionResult> PartnerRegistration(PartnerForRegistration partner) { var result = await _accountService.PartnerRegistration(partner); return(Ok(result)); }