示例#1
0
        /// <summary>
        /// Registers a new employer person and assigns them to an existing employer.
        /// Note: Recipient side.
        /// </summary>
        /// <param name="employerPerson"></param>
        public void RegisterEmployerPerson(Guid inviteUID, EmployerPerson employerPerson)
        {
            using (var db = new JobyJobsDB2())
            {
                //pulls out the employerId from the invitation object.
                employer_persons_invites inviteObj = db.employer_persons_invites.Single(item => item.invite_uid == inviteUID.ToString());
                int employerId = inviteObj.employer_persons.employer_id;

                string identityUserId = employerPerson.Identity_UserID ?? Guid.NewGuid().ToString();
                var    dbUser         = new user()
                {
                    Id           = identityUserId,
                    UserName     = employerPerson.Email, //user as email.
                    PasswordHash = employerPerson.PasswordHash,
                    Email        = employerPerson.Email,
                    PhoneNumber  = employerPerson.PhoneNumber
                };

                //update its status to accepted.
                inviteObj.status_id       = (int)Enums.EmployerPersonInviteStatuses.Accepted;
                db.Entry(inviteObj).State = EntityState.Modified;

                //adds the user (under same transaction).
                _sp.GetService <IUsersBL>().AddUser(dbUser, Enums.UserRoles.Employer, db);

                //sets the employerId of the employer person.
                employerPerson.EmployeryId = employerId;

                //adds the employer person.
                var dataTimeNow = DateTime.Now;
                employerPerson.Identity_UserID = identityUserId;
                employerPerson.RegisterDate    = dataTimeNow;
                employerPerson.Active          = true;
                var dbEmployerPerson = employerPerson.ToDB();
                db.employer_persons.Add(dbEmployerPerson);

                //saves all work.
                db.SaveChanges();
            }
        }
示例#2
0
 public static EmployerPersonInvite ToBusiness(this employer_persons_invites item) //for read.
 {
     return(Mapper.Map <EmployerPersonInvite>(item).CompleteCreate(item));
 }
示例#3
0
 public EmployerPersonInvite CompleteCreate(employer_persons_invites item)
 {
     InviteUID = item.invite_uid;
     Status    = (Enums.EmployerPersonInviteStatuses)item.status_id;
     return(this);
 }