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); }