public async Task <IActionResult> ApprovePartnerRequest(Guid partnerRequestId)
        {
            var user = await userRepository.GetUserByNameIdentifier(User.FindFirst(ClaimTypes.NameIdentifier).Value).ConfigureAwait(false);

            if (!user.IsSiteAdmin)
            {
                return(Forbid());
            }

            var partnerRequest = await partnerRequestRepository.GetPartnerRequest(partnerRequestId).ConfigureAwait(false);

            partnerRequest.PartnerRequestStatusId = (int)PartnerRequestStatusEnum.Approved;

            await partnerRequestRepository.UpdatePartnerRequest(partnerRequest).ConfigureAwait(false);

            await partnerManager.CreatePartner(partnerRequest).ConfigureAwait(false);

            var partnerMessage = emailManager.GetEmailTemplate(NotificationTypeEnum.PartnerRequestAccepted.ToString());

            partnerMessage = partnerMessage.Replace("{PartnerName}", partnerRequest.Name);
            var partnerHtmlMessage = emailManager.GetHtmlEmailTemplate(NotificationTypeEnum.PartnerRequestAccepted.ToString());

            partnerHtmlMessage = partnerHtmlMessage.Replace("{PartnerName}", partnerRequest.Name);
            var partnerSubject = "Your request to become a TrashMob.eco Partner has been accepted!";

            var partnerRecipients = new List <EmailAddress>
            {
                new EmailAddress {
                    Name = partnerRequest.Name, Email = partnerRequest.PrimaryEmail
                },
                new EmailAddress {
                    Name = partnerRequest.Name, Email = partnerRequest.SecondaryEmail
                },
            };

            await emailManager.SendSystemEmail(partnerSubject, partnerMessage, partnerHtmlMessage, partnerRecipients, CancellationToken.None).ConfigureAwait(false);

            return(Ok());
        }