public Result <string> ValidateUser()
        {
            Result <string> result;
            //TokenGenerator.ValidateToken(token);


            var    httpRequest = HttpContext.Current.Request;
            var    token       = httpRequest.RequestContext.HttpContext.Items;
            string _token      = string.Empty;
            string user        = string.Empty;

            if (((System.Net.Http.HttpRequestMessage)(token["MS_HttpRequestMessage"])).Headers.Authorization != null)
            {
                _token = ((System.Net.Http.HttpRequestMessage)(token["MS_HttpRequestMessage"])).Headers.Authorization.Parameter.ToString();
                user   = TokenGenerator.ValidateToken(_token);
                if (!string.IsNullOrEmpty(user))
                {
                    result = new Result <string>(user, string.Empty, (int)HttpStatusCode.OK);
                }
                else
                {
                    result = new Result <string>(user, "Su sesión caducó", (int)HttpStatusCode.Unauthorized);
                }
            }
            else
            {
                result = new Result <string>(user, "Token no recibido", (int)HttpStatusCode.BadRequest);
            }

            //return _token;

            return(result);

            //Result<string> result = new Result<string>();
            //TokenGenerator.ValidateToken(token);
            //return result;
        }
        //[Route("authenticate")]
        public Result <string> Login(User dtoUser)
        {
            Result <string> result = new Result <string>(string.Empty, string.Empty);

            if (dtoUser == null || string.IsNullOrEmpty(dtoUser.UserName) || string.IsNullOrEmpty(dtoUser.Password))
            {
                result = new Result <string>(null, "Campos obligatorios sin diligenciar", (int)HttpStatusCode.BadRequest);
            }
            else
            {
                var BL = new UserBL();

                var tempResult = BL.Login(1, dtoUser, string.Empty);
                result = new Result <string>(tempResult != null && tempResult.Data != null ? TokenGenerator.GenerateToken(tempResult.Data.FirstOrDefault().UserName.ToString(), tempResult.Data.FirstOrDefault().IdUser) : string.Empty, tempResult.Message);
                if (string.IsNullOrEmpty(result.Message) || result.Message.StartsWith("1"))
                {
                    result.StatusCode = (int)HttpStatusCode.OK;
                }
                else
                {
                    result.StatusCode = (int)HttpStatusCode.BadRequest;
                }

                if (!string.IsNullOrEmpty(result.Message))
                {
                    result.Message = result.Message.Split('¬')[1];
                }
            }
            return(result);
        }