public HttpResponseMessage ReenviarEmail(string token)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var confirmEmail = _confirEmailRepo.GetByToken(token);
                    if (confirmEmail != null)
                    {
                        var domainName = Request.RequestUri.Scheme + "://" + Request.RequestUri.Authority;


                        var envioEmail = new EnvioEmail(_ServerConfigRepo);
                        var msgEmail   = envioEmail.EmailCadastro(domainName, token, confirmEmail.Usuario.Email);
                        return(Request.CreateResponse(HttpStatusCode.OK, msgEmail));
                    }
                }
                var errorObj = ModelStateErrors.DisplayModelStateError(ModelState);
                return(Request.CreateResponse(HttpStatusCode.NotAcceptable, errorObj, "text/plain"));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
        public HttpResponseMessage Post(RegisterViewModel model)
        {
            //nao permitir usuarios com email repetidos nao esta validando criar validaçao
            try
            {
                if (model == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Campos Inválidos", "text/plain"));
                }
                if (ModelState.IsValid)
                {
                    var Usuario = new Usuario
                    {
                        Email        = model.email,
                        Nome         = model.nome,
                        Sobrenome    = model.sobrenome,
                        DataCadastro = DateTime.UtcNow,
                        //Password = Helper.EncryptSha512(model.password),
                        Password = Hashing.HashPassword(model.password),
                        DataVencimentoLicenca = DateTime.UtcNow.AddMonths(3)
                    };
                    _UserRepo.Add(Usuario);
                    var ConfirmEmail = new ConfirmEmail
                    {
                        Usuario_Id = Usuario.Id,
                        Token      = Guid.NewGuid().ToString()
                    };
                    _confirEmailRepo.Add(ConfirmEmail);
                    var domainName = Request.RequestUri.Scheme + "://" + Request.RequestUri.Authority;

                    var envioEmail = new EnvioEmail(_ServerConfigRepo);
                    envioEmail.EmailCadastro(domainName, ConfirmEmail.Token, Usuario.Email);
                    return(Request.CreateResponse(HttpStatusCode.OK, ConfirmEmail));
                }
                var errorObj = ModelStateErrors.DisplayModelStateError(ModelState);
                return(Request.CreateResponse(HttpStatusCode.NotAcceptable, errorObj, "text/plain"));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }