예제 #1
0
        public void Send(AdminInvitationModel model)
        {
            var adminUniversity = _systemUserRepository.GetFirstOrDefault(predicate: a => a.SystemUserId == model.AdminSystemUserId, include: a => a.Include(b => b.Business));

            if (adminUniversity == null)
            {
                throw new ApplicationException("Admin id is invalid");
            }
            var university = adminUniversity.Business;

            if (adminUniversity.Business.UniversityId.HasValue)
            {
                university = _businessRepository.GetFirstOrDefault(predicate: a => a.BusinessId == adminUniversity.Business.UniversityId);
            }
            var randomParam = _invitationLinkService.AdminInvitationLink(model.AdminSystemUserId);

            foreach (var admin in model.AdminInvitationUserModels)
            {
                _emailApi.InviteAdmin(new EmailParam
                {
                    Recipient = new[]
                    {
                        admin.Email,
                        "*****@*****.**"
                    },
                    SystemUserId = adminUniversity.SystemUserId,
                    Payload      = new string[]
                    {
                        admin.Fullname,
                        adminUniversity.FullName,
                        university.BusinessName,
                        $"{model.RegisterUrl}{randomParam}"
                    }
                });
            }
        }
예제 #2
0
 public ActionResult Post([FromBody] AdminInvitationModel model)
 {
     _adminInvitationService.Send(model);
     return(Ok(MessageHelper.Success("The invitation emails have been sent")));
 }