public HttpResponseMessage Signin([FromBody] SigninReqBody signinRequest) { GenericApiResponse response = new GenericApiResponse(); if (String.IsNullOrEmpty(signinRequest.email) || String.IsNullOrEmpty(signinRequest.password)) { response.HttpCode = 400; response.Message = "Email or password cannot be empty"; return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response)); } else { var person = personBL.AuthenticatePerson(signinRequest.email, signinRequest.password, signinRequest.deviceInfo, signinRequest.deviceIP, signinRequest.deviceID, false); if (person != null) { if (!person.ProfileCompleted) { response.HttpCode = 403; response.Message = "Make sure your profile is complete."; return(Request.CreateResponse <IResponse>(HttpStatusCode.Forbidden, response)); } else { //Crear respuesta exitosa SigninInteractor interactor = new SigninInteractor(); var responseSuccess = interactor.createSuccessResponse(person); return(Request.CreateResponse <IResponse>(HttpStatusCode.OK, responseSuccess)); } } else { response.HttpCode = 401; response.Message = "Invalid credentials"; return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response)); } } }