Beispiel #1
0
        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));
                }
            }
        }