public ServiceResult<Professional> Insert(Professional professional) { var emailExist = _repository.GetProfessionalByEmail(professional.Email); const string defaultPassword = "******"; if (emailExist == null) { var user = new User { Email = professional.Email, FirstName = professional.FirstName, SecondName = professional.SecondName, Surname = professional.Surname, SecondSurname = professional.SecondSurname, Password = Encrypt.EncryptString(defaultPassword, _configuration["KeyEncription"]) }; var userInserted = _userRepository.Insert(user); user.UserId = userInserted.UserId; professional.UserId = user.UserId; var professionalInserted = _repository.Insert(professional); if (professionalInserted != null && professionalInserted.UserId > 0) { var userRole = new UserRole { UserId = professional.UserId, RoleId = 14 }; _userRoleRepository.Insert(userRole); var mailMessage = new MailMessage { Body = string.Format("A continuación se listan los datos de ingreso para su cuenta en Blue: <br/><br/>" + "Usuario: <b>{0}</b> <br/> Password: <b>{1}</b> <br/>", user.Email, defaultPassword), Subject = "Creación de usuario Blue", To = new MailAccount(user.FirstName, user.Email) }; _mailService.SendMail(mailMessage); } return new ServiceResult<Professional> { Success = true, Result = professionalInserted }; } return new ServiceResult<Professional> { Success = false, Errors = new[] { MessageError.EmailExists } }; }