Ejemplo n.º 1
0
        public async Task <Model.Response.Member> Insert(Model.Insert.Member request)
        {
            try
            {
                Database.Member entity = _mapper.Map <Database.Member>(request);
                await _context.AddAsync((object)entity);

                var username = request.FirstName + request.LastName;
                entity.Username = username;
                int i = 0;
                while (await _context.Members.FirstOrDefaultAsync(x => x.Username == entity.Username) != null)
                {
                    entity.Username = username + (i++).ToString();
                }
                var generatedPassword = _securityService.GeneratePassword();
                entity.PasswordSalt = _securityService.GenerateSalt();
                entity.PasswordHash = _securityService.GenerateHash(entity.PasswordSalt, generatedPassword);
                entity.RoleId       = request.RoleId;
                await _mailService.SendRegistrationConfirmaiton(entity.Username, generatedPassword, entity.FirstName, entity.LastName, entity.EmailAddress);

                await _context.SaveChangesAsync();

                return(_mapper.Map <Model.Response.Member>(entity));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private Model.Insert.Member CreateInsertModel()
        {
            var model = new Model.Insert.Member()
            {
                FirstName         = txtFirstName.Text,
                LastName          = txtLastName.Text,
                Address           = txtAddress.Text,
                PhoneNumber       = txtPhoneNumber.Text,
                BirthDate         = dtpBirthDate.Value,
                LocalCommitteeId  = Convert.ToInt32(cmbLocalCommittee.SelectedValue),
                FunctionalFieldId = Convert.ToInt32(cmbFunctionalField.SelectedValue),
                RoleId            = Convert.ToInt32(cmbRole.SelectedValue),
                EmailAddress      = txtEmail.Text
            };

            return(model);
        }
Ejemplo n.º 3
0
 public async Task <Model.Response.Member> Insert([FromBody] Model.Insert.Member member)
 {
     return(await _service.Insert(member));
 }