Beispiel #1
0
        public async Task Should_create_an_invite_for_a_new_user()
        {
            var cmd = new InviteUser(1, "*****@*****.**")
            {
                UserId = 1
            };
            var members = new[] { new ApplicationTeamMember(1, 3, "karl") };
            ApplicationTeamMember actual = null;

            _applicationRepository.GetTeamMembersAsync(1).Returns(members);
            _applicationRepository.WhenForAnyArgs(x => x.CreateAsync(Arg.Any <ApplicationTeamMember>()))
            .Do(x => actual        = x.Arg <ApplicationTeamMember>());
            _sut.PrincipalAccessor = CreateAdminPrincipal;

            await _sut.ExecuteAsync(cmd);

            await _applicationRepository.Received().CreateAsync(Arg.Any <ApplicationTeamMember>());

            actual.EmailAddress.Should().Be(cmd.EmailAddress);
            actual.ApplicationId.Should().Be(cmd.ApplicationId);
            actual.AddedAtUtc.Should().BeCloseTo(DateTime.UtcNow, 1000);
            actual.AddedByName.Should().Be("First");
        }
        /// <summary>
        /// Created By :: Sakthivel.R
        /// Created On :: 28-4-2015
        /// Comments :: Select all records for InviteUser details.
        /// </summary>
        #region Select_Records_CreateInviteUser
        public List<InviteUser> InviteUserSelect(int PK_InviteUserID)
        {
            objEmailCampDataContext = new EmailCampDataContext();
            lstInviteUser = new List<InviteUser>();

            var Select = (from cde in objEmailCampDataContext.spInviteUser_AllActions(PK_InviteUserID, null, null, null, null, null, null, null, null, null, null, null, null, ref val, "s")
                          select cde).ToList();

            if (Select.Count > 0)
            {
                lstInviteUser = new List<InviteUser>();
                foreach (var item in Select)
                {
                    objInviteUser = new InviteUser();
                    objInviteUser.PK_Inviteid = item.PK_Inviteid;
                    objInviteUser.Emailid = item.Emailid;
                    objInviteUser.Invitedate = item.invitedate;
                    objInviteUser.FK_RoleID = item.FK_RoleID;

                    if (item.FK_CompanyID != null)
                        objInviteUser.FK_CompanyID = Convert.ToInt32(item.FK_CompanyID);
                    objInviteUser.Message = item.Message;
                    objInviteUser.Mailsentstatus = item.mailsentstatus;
                    objInviteUser.Expired = item.expired;
                    objInviteUser.ApproveStatus = item.ApproveStatus;
                    objInviteUser.CreatedOn = item.CreatedOn;
                    objInviteUser.CreatedBy = item.CreatedBy;
                    objInviteUser.UpdatedBy = item.UpdatedBy;
                    objInviteUser.UpdatedOn = item.UpdatedOn;
                    lstInviteUser.Add(objInviteUser);
                }
            }
            objEmailCampDataContext = null;
            objInviteUser = null;
            return lstInviteUser;

        }
Beispiel #3
0
        public async Task SendInvite(InviteUser user)
        {
            GraphServiceClient client = GraphClientUtility.GetGraphServiceClient();

            var invitation = new Invitation
            {
                InvitedUserEmailAddress = user.InvitedUserEmailAddress,
                InviteRedirectUrl       = "http://localhost:57774",
                InvitedUserDisplayName  = user.InvitedUserDisplayName,
                InvitedUserMessageInfo  = new InvitedUserMessageInfo
                {
                    CustomizedMessageBody = user.CustomizedMessageBody
                },
                InvitedUserType       = user.InvitedUserType,
                SendInvitationMessage = true,
                InvitedUser           = user.InvitedUser,
                Status          = user.Status,
                InviteRedeemUrl = user.InviteRedeemUrl
            };

            await client.Invitations
            .Request()
            .AddAsync(invitation);
        }
Beispiel #4
0
        /// <summary>
        /// Created By :: Sakthivel.R
        /// Created On :: 25-6-2015
        /// Comments :: Inserting all values of InviteUser form.
        /// </summary>
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            try
            {
                objInviteUser = new InviteUser();
                lstInviteUser = new List <InviteUser>();

                objInviteUser.FK_RoleID = Convert.ToInt32(ddlrole.SelectedValue);


                if (Request.QueryString["CampInvtusrId"] != null)
                {
                    objUserDetails         = new UserDetails();
                    lstUserDetails         = new List <UserDetails>();
                    objBL_UserLoginDetails = new BL_UserLoginDetails();
                    lstUserDetails         = objBL_UserLoginDetails.SelectUserDetailsList(Convert.ToInt32(HttpUtility.UrlDecode(Request.QueryString["CampInvtusrId"]).ToString()));

                    if (lstUserDetails.Count > 0)
                    {
                        if (ddlrole.SelectedValue != "0")
                        {
                            objBL_Common.AccessUpdateAllCampaign("EC_UserLogin", "FK_RoleID= " + Convert.ToInt32(ddlrole.SelectedValue) + ", UpdatedBy = " + Convert.ToInt32(Session["UserID"].ToString()) + ", UpdatedOn = '" + DateTime.Now + "' ", "PK_UserID =" + Convert.ToInt32(HttpUtility.UrlDecode(Request.QueryString["CampInvtusrId"]).ToString()) + "");
                        }
                    }
                    lstUserDetails         = null;
                    objUserDetails         = null;
                    objBL_UserLoginDetails = null;
                    ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "Clearuserinput2();", true);
                }
                else
                {
                    int status = objBL_UserLoginDetails.AccessVerifyUserEmailidExist(EmailID.Value.ToString().Trim());

                    if (status == 0)
                    {
                        objInviteUser.Emailid      = EmailID.Value;
                        objInviteUser.Invitedate   = DateTime.Now;
                        objInviteUser.Message      = txtmessage.Value;
                        objInviteUser.FK_CompanyID = Convert.ToInt32(Session["CompanyID"].ToString());
                        objInviteUser.CreatedOn    = DateTime.Now;
                        objInviteUser.CreatedBy    = Convert.ToInt32(Session["UserID"].ToString());
                        string pkcqid = objBL_InviteUser.AccessInsertInviteUser(objInviteUser);

                        //------Sending confirmtion Email of account created to client.-----
                        string sEmailId = "*****@*****.**";
                        //subject
                        string sSubject = "Join my Email Campaign account";

                        ////sending emails to client
                        string strReceiverName = "ADMIN";
                        string EncryptQry      = "signid=" + objCryptographicHashCode.EncryptPlainTextToCipherText(pkcqid) + "'";
                        lstCompany = objBL_CompanyDetails.SelectCompanyListbasedonid(Convert.ToInt32(Session["CompanyID"].ToString()));
                        string companyname = "";
                        string emailid     = "";

                        if (lstCompany.Count > 0)
                        {
                            if (lstCompany[0].Company_Name != null)
                            {
                                companyname = lstCompany[0].Company_Name;
                            }
                        }

                        if (Session["AdminEmilid"] != null)
                        {
                            emailid = Session["AdminEmilid"].ToString();
                        }

                        string body = MailTemplate.MailInviteUser(companyname, emailid, EncryptQry);
                        objMailTemplate.fnSendMailToClientForCoUpld(body, sEmailId, sSubject, EmailID.Value.ToString().Trim());
                        ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "Clearuserinput1();", true);
                    }
                    else if (status == 1)
                    {
                        lblerrormsg.Text = "<span style='color:#c85305;font-size:12px;'>Emailid already exist use some other emailid.</span>";
                    }
                    //---------End---------------------
                }
            }
            catch (Exception ex)
            {
                New_EmailCampaign.App_Code.GlobalFunction.StoreLog("InvitieUser.aspx:btnSubmit_Click() - " + ex.Message);
            }
        }
Beispiel #5
0
 public void UpdateInviteUser(InviteUser inviteUser)
 {
     _inviteUser.ReplaceOne(x => x.Id == inviteUser.Id, inviteUser);
 }
 public void Handle(InviteUser cmd)
 {
 }
Beispiel #7
0
 public void AccessUpdateInviteUser(InviteUser objInviteUser1)
 {
     objDL_InviteUser.InviteUserUpdate(objInviteUser1);
 }
Beispiel #8
0
        public string AccessInsertInviteUser(InviteUser objInviteUser1)
        {
            string pkid = objDL_InviteUser.InviteUserInsert(objInviteUser1);

            return(pkid);
        }
Beispiel #9
0
        public async Task <IHttpActionResult> AddInvite(InviteUser model)
        {
            if (String.IsNullOrEmpty(model.EmailAddress))
            {
                throw new ValidationException(new[] { new ValidationFailure("email_address", "Please enter an email address") });
            }

            var role = model.Role;

            if (String.IsNullOrEmpty(role))
            {
                role = AuthorizationRoles.User;
            }

            if (!AuthorizationRoles.AllScopes.Contains(role))
            {
                return(BadRequest());
            }

            Organization organization = await GetModel(GetSelectedOrganizationId());

            if (organization == null)
            {
                return(BadRequest());
            }

            var currentUser = CurrentUser;

            //  need to check for global admin here
            var addGlobalAdmin = false;

            if (role == AuthorizationRoles.GlobalAdmin)
            {
                if (currentUser.IsGlobalAdmin())
                {
                    addGlobalAdmin = true;
                    role           = AuthorizationRoles.Admin;
                }
                else
                {
                    // downgrade to current user's role
                    role = currentUser.IsAdmin(organization.Id) ? AuthorizationRoles.Admin : AuthorizationRoles.User;
                }
            }
            else if (role == AuthorizationRoles.Admin && !currentUser.IsAdmin(organization.Id))
            {
                role = AuthorizationRoles.User;
            }

            var user = await _userRepository.GetByEmailAddressAsync(model.EmailAddress);

            // user exists, just add them to the org
            if (user != null)
            {
                if (addGlobalAdmin)
                {
                    //  will be false only if user is already a global admin
                    addGlobalAdmin = user.AddedGlobalAdminRole();
                }

                if (user.AddedMembershipRole(organization.Id, role) || addGlobalAdmin)
                {
                    await _userRepository.SaveAsync(user);

                    await _messagePublisher.PublishAsync(new UserMembershipChanged {
                        ChangeType     = ChangeType.Added,
                        UserId         = user.Id,
                        OrganizationId = organization.Id
                    }, TimeSpan.FromSeconds(1.5)).AnyContext();
                }

                _mailer.SendAddedToOrganization(currentUser, organization, user);

                return(Ok(new InviteUserResponse {
                    Added = true, UserId = user.Id, EmailAddress = model.EmailAddress
                }));
            }

            Invite invite = organization.Invites.FirstOrDefault(i => String.Equals(i.EmailAddress, model.EmailAddress, StringComparison.OrdinalIgnoreCase));

            if (invite == null)
            {
                invite = new Invite {
                    Token         = StringUtils.GetNewToken(),
                    EmailAddress  = model.EmailAddress.ToLower(),
                    FullName      = model.FullName,
                    DateAdded     = DateTime.UtcNow,
                    AddedByUserId = currentUser.Id,
                    Roles         = addGlobalAdmin
                    ? AuthorizationRoles.GetScope(AuthorizationRoles.GlobalAdmin)
                    : AuthorizationRoles.GetScope(role)
                };
                organization.Invites.Add(invite);
                await _repository.SaveAsync(organization);
            }

            _mailer.SendInvite(currentUser, organization, invite);

            return(Ok(new InviteUserResponse {
                Invited = true, EmailAddress = model.EmailAddress
            }));
        }
 public Task <InvokeResult <Invitation> > InviteToOrgAsync([FromBody] InviteUser inviteUser)
 {
     return(_orgManager.InviteUserAsync(inviteUser, OrgEntityHeader, UserEntityHeader));
 }
Beispiel #11
0
 public AddEmployeePageViewModel()
 {
     EmployeeModel = new EmployeeModel();
     InviteUser    = new InviteUser();
 }