public HttpResponseMessage Login(LoginModelRequest objLoginModelRequest)
        {
            LoginModelResponse result = new LoginModelResponse();

            if (ModelState.IsValid)
            {
                try
                {
                    Int64 UserId       = _objFriendFitDBEntity.Database.SqlQuery <Int64>("Select Id from UserProfile where Email={0}", objLoginModelRequest.Email).FirstOrDefault();
                    bool  mailVerified = _objFriendFitDBEntity.Database.SqlQuery <bool>("select EmailConfirmed from UserProfile where Id={0}", UserId).FirstOrDefault();
                    if (mailVerified == false)
                    {
                        result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.NotAcceptable);
                        result.Response.Message    = "Please Verify Your Email Id that has been sent to your mail.";
                    }
                    else
                    {
                        result.Response = _objIUserSettings.Login(objLoginModelRequest);
                        //Int64 UserId = _objFriendFitDBEntity.Database.SqlQuery<Int64>("select Id from UserProfile where Email={0}", objLoginModelRequest.Email).FirstOrDefault();

                        if (result.Response != null)
                        {
                            string Token = _objFriendFitDBEntity.Database.SqlQuery <string>("select TokenCode from UserToken where UserId={0}", UserId).FirstOrDefault();

                            if (Token == null || Token == "0")
                            {
                                if (Token == null)
                                {
                                    UserToken objToken = new UserToken()
                                    {
                                        UserId     = result.Response.Id,
                                        RoleId     = result.Response.RoleId,
                                        CreatedOn  = DateTime.Now,
                                        IsActive   = true,
                                        ExpiryDate = DateTime.Now.AddDays(7),
                                        TokenCode  = Guid.NewGuid().ToString() + result.Response.Id.ToString() + Guid.NewGuid().ToString()
                                    };
                                    _objFriendFitDBEntity.UserTokens.Add(objToken);
                                    _objFriendFitDBEntity.SaveChanges();
                                    result.Response.TokenCode = objToken.TokenCode;
                                }
                                else
                                {
                                    int rowEffected = _objFriendFitDBEntity.Database.ExecuteSqlCommand("Update Token set TokenCode=@TokenCode,ExpiryDate=@ExpiryDate where UserId=@UserId",
                                                                                                       new SqlParameter("TokenCode", Guid.NewGuid().ToString() + result.Response.Id.ToString() + Guid.NewGuid().ToString()),
                                                                                                       new SqlParameter("ExpiryDate", DateTime.Now.AddDays(7)),
                                                                                                       new SqlParameter("UserId", UserId));
                                }
                            }
                            else
                            {
                                result.Response.TokenCode = Token;
                            }
                            result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.OK);
                            result.Response.Message    = "You are logged in successfully!";
                        }
                        else
                        {
                            var GetIsActive = _objFriendFitDBEntity.UserProfiles.Where(a => a.Password == objLoginModelRequest.Password && a.Email == objLoginModelRequest.Email).FirstOrDefault();
                            if (GetIsActive != null)
                            {
                                var IsActive = _objFriendFitDBEntity.UserProfiles.Where(a => a.Password == objLoginModelRequest.Password && a.Email == objLoginModelRequest.Email && a.IsActive == true && a.IsDeleted == false).FirstOrDefault();
                                if (IsActive != null)
                                {
                                    FResponse res = new FResponse();
                                    res.StatusCode = Convert.ToInt32(HttpStatusCode.Unauthorized);
                                    res.Message    = "Email or Password is Incorrect";
                                    _response      = Request.CreateResponse(HttpStatusCode.Unauthorized, res);
                                }
                                else
                                {
                                    FResponse res = new FResponse();
                                    res.StatusCode = Convert.ToInt32(HttpStatusCode.Unauthorized);
                                    res.Message    = "Your Account is currently disabled kindly contact Admin.";
                                    _response      = Request.CreateResponse(HttpStatusCode.Unauthorized, res);
                                }
                            }
                            else
                            {
                                FResponse res = new FResponse();
                                res.StatusCode = Convert.ToInt32(HttpStatusCode.Unauthorized);
                                res.Message    = "Email or Password is Incorrect";
                                _response      = Request.CreateResponse(HttpStatusCode.Unauthorized, res);
                            }

                            return(_response);
                        }
                    }
                }
                catch (Exception ex)
                {
                    result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.BadRequest);
                    _response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Some error occurred");
                }
            }
            else
            {
                result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.BadRequest);
                _response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Model is not valid");
            }
            //result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.OK);
            //result.Response.Message = "Success";
            _response = Request.CreateResponse(HttpStatusCode.OK, result);
            return(_response);
        }