public static UserResponse MapUserResponse(this Entities.AppUser appUser)
 {
     return(new UserResponse
     {
         UserId = appUser.Id,
         UserName = appUser.UserName
     });
 }
        public async Task <UserResponse> SignUpAsync(SignUpRequest request, CancellationToken cancellationToken)
        {
            var user = new Entities.AppUser {
                Email = request.Email, UserName = request.Email, FirstName = request.FirstName, LastName = request.LastName
            };
            bool isCreated = await _userRepository.SignUpAsync(user, request.Password, "Planner", cancellationToken);

            return(!isCreated ? null : new UserResponse {
                Name = $"{request.FirstName} {request.LastName}", Email = request.Email
            });
        }
예제 #3
0
        public Guid Create(AppUserCreate input)
        {
            var model = new Entities.AppUser
            {
                Id         = Guid.NewGuid(),
                CreatedAt  = DateTime.UtcNow,
                ExternalId = input.ExternalId,
                Picture    = input.Picture,
                Name       = input.Name,
                Email      = input.Email,
                IsOwner    = true,
            };

            _usersRepository.Insert(model);
            return(model.Id);
        }
예제 #4
0
        public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            ActionExecutedContext resultContext = await next();

            if (!resultContext.HttpContext.User.Identity.IsAuthenticated)
            {
                return;
            }

            IUnitOfWork uow = resultContext.HttpContext.RequestServices.GetService <IUnitOfWork>();

            int userId = resultContext.HttpContext.User.GetUserId();

            Entities.AppUser user = await uow.UserRepository.GetUserByIdAsync(userId);

            user.LastActive = DateTime.UtcNow;

            await uow.Complete();
        }
        public async Task <VendorResponse> AddVendorAsync(AddVendorRequest request)
        {
            var vendorItem = _vendorMapper.Map(request);

            var newUser = new Entities.AppUser {
                UserName = request.ContactEmail, Email = request.ContactEmail
            };
            bool isCreated = await _userRepository.SignUpAsync(newUser, "partyAgile21", "Vendor");

            if (isCreated)
            {
                vendorItem.UserId = newUser.Id;
            }

            var result = _vendorRepository.Add(vendorItem);

            await _vendorRepository.UnitOfWork.SaveChangesAsync();

            var vendorEvent = new VendorEvent
            {
                Vendor   = result,
                VendorId = result.Id,
                EventId  = request.EventId,
                Budget   = new Price {
                    Amount = request.Budget.Amount, Currency = request.Budget.Currency
                },
                DepositPaid = new Price {
                    Amount = request.DepositPaid.Amount, Currency = request.Budget.Currency
                }
            };

            _vendorEventRepository.Add(vendorEvent);
            await _vendorEventRepository.UnitOfWork.SaveChangesAsync();

            return(_vendorMapper.Map(result));
        }