public AuthModel Login([FromBody] AccountLoginModel model)
        {
            EmailWithMailgun.SendMessage("Correo", model.Email, "Hola");
            var user = _readOnlyRepository.FirstOrDefault <Account>(x => x.Email == model.Email);

            if (user == null)
            {
                throw new HttpException((int)HttpStatusCode.NotFound, "User doesn't exist.");
            }
            if (!user.CheckPassword(model.Password))
            {
                throw new HttpException((int)HttpStatusCode.Unauthorized, "Password doesn't match.");
            }

            var authModel = new AuthModel
            {
                Email       = user.Email,
                AccessToken = AuthRequestFactory.BuildEncryptedRequest(user.Email),
                role        = new RoleModel
                {
                    bitMask = 2, title = "admin"
                }
            };

            return(authModel);
        }
        public CreatedAccountModel Register([FromBody] AccountRegisterModel model)
        {
            EmailWithMailgun.SendMessage("Correo", model.Email, "Hola");
            var newUser          = _mappingEngine.Map <AccountRegisterModel, Account>(model);
            var createdUser      = _writeOnlyRepository.Create(newUser);
            var craetedUserModel = _mappingEngine.Map <Account, CreatedAccountModel>(createdUser);

            return(craetedUserModel);
        }