public IHttpActionResult Register(User user)
        {
            var userDetails = unitOfWork.UserRepository.Get(filter: q => q.Email == user.Email);

            if (!(userDetails.Count() > 0))
            {
                user.Password = DataEntities.Common.ManagePassword.ComputeHash(user.Password, "SHA512", null);
                user.RoleId   = 2;
                user.Status   = false;
                unitOfWork.UserRepository.Insert(user);
                unitOfWork.Save();

                var    generatedToken = ManageToken.GenerateToken(user.Email, 10);
                string baseURL        = string.Empty;
                var    strUrl         = HttpContext.Current.Request.Url;
                var    host           = "http://" + strUrl.Host;
                var    port           = strUrl.Port;
                if (host == "http://localhost")
                {
                    baseURL = host + ":" + port;// + "/api/Confirmation?authenticationToken=";
                }
                else
                {
                    baseURL = host;// + "/api/Confirmation?authenticationToken=";
                }
                var emailBody = Common.SendEmail.CreateEmailBody(user.FirstName, "/confimration/" + generatedToken, baseURL);
                Common.SendEmail.Send(user.Email, "", "", "Registration Email", emailBody);
                return(Ok());
            }
            else
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, "User already Exist."));
            }
        }
        public IHttpActionResult PasswordReset(User user)
        {
            var userDetails = unitOfWork.UserRepository.Get(filter: q => q.Email == user.Email);

            if (userDetails.Count() > 0)
            {
                var    generatedToken = ManageToken.GenerateToken(user.Email, 10);
                string baseURL        = string.Empty;
                var    strUrl         = HttpContext.Current.Request.Url;
                var    host           = "http://" + strUrl.Host;
                var    port           = strUrl.Port;
                if (host == "http://localhost")
                {
                    baseURL = host + ":" + port;
                }
                else
                {
                    baseURL = host;
                }
                var emailBody = Common.SendEmail.CreateEmailBody(user.FirstName, "/reset-password/" + generatedToken, baseURL);
                Common.SendEmail.Send(user.Email, "", "", "Password Reset Email", emailBody);
                return(Ok());
            }
            else
            {
                return(new HttpActionResult(HttpStatusCode.BadRequest, "User already Exist."));
            }
        }