예제 #1
0
        public SimpleTextResponse CreateDepositConfirmationResponse(List <NotificationResultEN> pResult)
        {
            SimpleTextResponse response = new SimpleTextResponse();
            int counter = 0;

            try
            {
                foreach (var item in pResult)
                {
                    counter = (item.Result) ? counter + 1 : counter;
                }

                if (counter <= 0)
                {
                    response.result  = false;
                    response.Message = "Something went wrong";
                }
                else
                {
                    response.result  = true;
                    response.Message = "Operation completed succesfully.";
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.InnerException);
            }

            return(response);
        }
예제 #2
0
        public HttpResponseMessage SetNotificationRead(HttpRequestMessage pRequest, NotificationTrackingReq pTracking)
        {
            IEnumerable <string> token = null;

            pRequest.Headers.TryGetValues("Token-autorization", out token); //TODO: Corregir error ortográfico

            if (token != null)
            {
                int notificationID = int.Parse(pTracking.trackingID);

                if (notificationID <= 0)
                {
                    response.HttpCode = 400;
                    response.Message  = "Notification ID must be greater than zero";
                    return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
                }
                else
                {
                    PersonEN personVerified = personBL.VerifyPersonAuthentication(token);

                    if (personVerified != null)
                    {
                        if (personVerified.IsValidToken)
                        {
                            if (campaignBL.MarkNotificationAsRead(notificationID))
                            {
                                SimpleTextResponse resultResponse = new SimpleTextResponse();
                                resultResponse.result  = true;
                                resultResponse.Message = "Success";
                                return(Request.CreateResponse <IResponse>(HttpStatusCode.OK, resultResponse));
                            }
                            else
                            {
                                response.HttpCode = 500;
                                response.Message  = "Something went wrong";
                                return(Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, response));
                            }
                        }
                        else
                        {
                            response.HttpCode = 401;
                            response.Message  = "Expired token or not valid credentials.";
                            return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                        }
                    }
                    else
                    {
                        response.HttpCode = 401;
                        response.Message  = "Credentials are not valid.";
                        return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                    }
                }
            }
            else
            {
                response.HttpCode = 400;
                response.Message  = "Authorization token must be provided";
                return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
            }
        }
예제 #3
0
        public HttpResponseMessage TopupRequestResponse(HttpRequestMessage pRequest, [FromBody] PendingTopupReq data)
        {
            IEnumerable <string> token = null;

            pRequest.Headers.TryGetValues("Token-autorization", out token);

            if (token != null)
            {
                PersonEN person = personBL.VerifyPersonAuthentication(token);

                if (person != null)
                {
                    if (person.IsValidToken)
                    {
                        if (data.PendingRequestID > 0)
                        {
                            SimpleTextResponse answer = new SimpleTextResponse();

                            if (topupBL.AnswerTopupRequest(person, data.PendingRequestID, data.ResponseToRequest))
                            {
                                answer.result  = true;
                                answer.Message = "Operation completed succesfully";
                                return(Request.CreateResponse <IResponse>(HttpStatusCode.OK, answer));
                            }
                            else
                            {
                                answer.result  = false;
                                answer.Message = "Something went wrong";
                                return(Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, answer));
                            }
                        }
                        else
                        {
                            response.HttpCode = 400;
                            response.Message  = "Topup Request ID must be greater than 0";
                            return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
                        }
                    }
                    else
                    {
                        response.HttpCode = 401;
                        response.Message  = "Invalid token";
                        return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                    }
                }
                else
                {
                    response.HttpCode = 500;
                    response.Message  = "Something went wrong";
                    return(Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, response));
                }
            }
            else
            {
                response.HttpCode = 400;
                response.Message  = "Authorization token must be provided";
                return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
            }
        }
        public HttpResponseMessage SendLackCreditReport(HttpRequestMessage request, [FromBody] StoreAttributes data)
        {
            PersonBL           ConsumerAuth   = new PersonBL();
            GenericApiResponse response       = new GenericApiResponse();
            StoreBL            storeBL        = new StoreBL();
            string             error          = "";
            SimpleTextResponse ReportResponse = new SimpleTextResponse();

            try
            {
                IEnumerable <string> key = null;
                request.Headers.TryGetValues("authenticationKey", out key);
                var consumerFb = ConsumerAuth.authenticateConsumer(key.FirstOrDefault().ToString());

                if (consumerFb != null)
                {
                    if (!string.IsNullOrEmpty(data.FirebaseID))
                    {
                        int?ResultOfReport = storeBL.AirTimeReporting(data.StoreName, data.AddressStore, data.Longitude, data.Latitude, data.FirebaseID, consumerFb.ConsumerID, consumerFb.RegistrationDate, consumerFb.ModificationDate, ref error);

                        if (ResultOfReport > 0)
                        {
                            ReportResponse.Message = "Operation completed succesfully";
                            ReportResponse.result  = true;

                            return(Request.CreateResponse <IResponse>(HttpStatusCode.OK, ReportResponse));
                        }
                        else
                        {
                            ReportResponse.Message = "Something went wrong";
                            ReportResponse.result  = false;

                            return(Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, ReportResponse));
                        }
                    }
                    else
                    {
                        ReportResponse.Message = "Bad Request";
                        ReportResponse.result  = false;

                        return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, ReportResponse));
                    }
                }
                else
                {
                    response.HttpCode = 404;
                    response.Message  = "Facebook information not found";
                    return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
                }
            }
            catch (Exception ex)
            {
                response.HttpCode = 500;
                response.Message  = "something went wrong";
                return(Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, response));
            }
        }
예제 #5
0
        public async Task <HttpResponseMessage> requestTopup(HttpRequestMessage pRequest, [FromBody] TopupRequestReq data)
        {
            IEnumerable <string> authKey = null;

            pRequest.Headers.TryGetValues("authenticationKey", out authKey);

            if (authKey != null)
            {
                var consumerVerified = consumerBL.AuthenticateConsumer(authKey.FirstOrDefault());

                if (consumerVerified != null)
                {
                    if (consumerVerified.IsValidKey)
                    {
                        TopupInteractor interactor = new TopupInteractor();
                        var             validation = interactor.ValidateTopupRequest(data);

                        if (!validation.result)
                        {
                            response.HttpCode = 400;
                            response.Message  = validation.Message;
                            return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
                        }
                        else
                        {
                            bool result = await topupBL.RequestTopup(consumerVerified.ConsumerID, consumerVerified.Nickname, data.targetPhoneNumber, data.vendorCode, data.amount, data.operatorID, data.CategoryID);

                            SimpleTextResponse textResponse = new SimpleTextResponse();
                            textResponse.result = result;

                            textResponse.Message = (result) ? "Succes" : "Request was made sucesfully, but notification failed";

                            return(Request.CreateResponse <IResponse>(HttpStatusCode.OK, textResponse));
                        }
                    }
                    else
                    {
                        response.HttpCode = 401;
                        response.Message  = "Authentication key is not valid";
                        return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                    }
                }
                else
                {
                    response.HttpCode = 401;
                    response.Message  = "Invalid authentication key";
                    return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                }
            }
            else
            {
                response.HttpCode = 401;
                response.Message  = "Authentication key is required";
                return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
            }
        }
예제 #6
0
        public SimpleTextResponse ValidateTopupRequest(TopupRequestReq pRequest)
        {
            SimpleTextResponse response = new SimpleTextResponse();

            try
            {
                if (pRequest.amount <= 0)
                {
                    response.result  = false;
                    response.Message = "Amount must be greater than zero";
                }
                else if (pRequest.operatorID <= 0)
                {
                    response.result  = false;
                    response.Message = "Operator ID is not valid";
                }
                else if (String.IsNullOrEmpty(pRequest.targetPhoneNumber))
                {
                    response.result  = false;
                    response.Message = "Target phone numner is required";
                }
                else if (pRequest.vendorCode <= 0)
                {
                    response.result  = false;
                    response.Message = "Vendor code is not valid";
                }
                else
                {
                    response.result  = true;
                    response.Message = "Ok";
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(response);
        }
        public HttpResponseMessage AddPersonGamerProfile(HttpRequestMessage pRequest, [FromBody] GamerProfileReq pGamerProfile)
        {
            IEnumerable <string> token = null;

            pRequest.Headers.TryGetValues("Token-autorization", out token); //TODO: Corregir error ortográfico

            PersonEN personVerified = personBL.VerifyPersonAuthentication(token);

            if (token != null)
            {
                if (personVerified != null)
                {
                    if (personVerified.IsValidToken)
                    {
                        if (!String.IsNullOrEmpty(pGamerProfile.Nickname))
                        {
                            SimpleTextResponse  nicknameResponse = new SimpleTextResponse();
                            HttpResponseMessage responseMessage;

                            switch (personBL.AddPersonNickname(personVerified, pGamerProfile.Nickname).Message)
                            {
                            case "error":
                                nicknameResponse.Message = "Something went wrong";
                                nicknameResponse.result  = false;
                                responseMessage          = Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, nicknameResponse);
                                break;

                            case "inserted":
                                nicknameResponse.Message = "Operation completed succesfully";
                                nicknameResponse.result  = true;
                                responseMessage          = Request.CreateResponse <IResponse>(HttpStatusCode.OK, nicknameResponse);
                                break;

                            case "conflict":
                                nicknameResponse.Message = "Nickname already exist";
                                nicknameResponse.result  = false;
                                responseMessage          = Request.CreateResponse <IResponse>(HttpStatusCode.NotAcceptable, nicknameResponse);
                                break;

                            default:
                                nicknameResponse.Message = "Something went wrong";
                                nicknameResponse.result  = false;
                                responseMessage          = Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, nicknameResponse);
                                break;
                            }

                            return(responseMessage);
                        }
                        else
                        {
                            response.HttpCode = 400;
                            response.Message  = "Nickname is required.";
                            return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
                        }
                    }
                    else
                    {
                        response.HttpCode = 401;
                        response.Message  = "Authentication token has expired.";
                        return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                    }
                }
                else
                {
                    response.HttpCode = 401;
                    response.Message  = "Credentials are not valid.";
                    return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                }
            }
            else
            {
                response.HttpCode = 400;
                response.Message  = "Authorization token must be provided";
                return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
            }
        }
예제 #8
0
        public HttpResponseMessage InsertNicknameConsumer(HttpRequestMessage pRequest, [FromBody] NicknameReq data)
        {
            IEnumerable <string> AppVersion = null;

            pRequest.Headers.TryGetValues("AppVersion", out AppVersion);

            IEnumerable <string> Platform = null;

            pRequest.Headers.TryGetValues("Platform", out Platform);

            bool ApplyValidation = bool.Parse(ConfigurationManager.AppSettings["ApplyValidationAppVersion"].ToString());

            if (ApplyValidation == false || (AppVersion != null && Platform != null))
            {
                string versionRequired = "";
                string error           = "";

                var isValidVersion = (ApplyValidation == false) ? true : gameBL.IsValidAppVersion(AppVersion.FirstOrDefault(), Platform.FirstOrDefault(), ref error, ref versionRequired);

                if (isValidVersion)
                {
                    IEnumerable <string> authKey = null;
                    pRequest.Headers.TryGetValues("authenticationKey", out authKey);

                    if (authKey != null)
                    {
                        var consumerVerified = consumerBL.AuthenticateConsumer(authKey.FirstOrDefault());

                        if (consumerVerified != null)
                        {
                            if (consumerVerified.IsValidKey)
                            {
                                if (String.IsNullOrEmpty(consumerVerified.Nickname))
                                {
                                    if (String.IsNullOrEmpty(data.Nickname))
                                    {
                                        response.HttpCode = 400;
                                        response.Message  = "Nickname is required";
                                        return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
                                    }
                                    else
                                    {
                                        SimpleTextResponse  response = new SimpleTextResponse();
                                        HttpResponseMessage responseMessage;

                                        switch (consumerBL.AddConsumerNickname(consumerVerified, data.Nickname).Message)
                                        {
                                        case "error":
                                            response.Message = "Something went wrong";
                                            response.result  = false;
                                            responseMessage  = Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, response);
                                            break;

                                        case "updated":
                                            response.Message = "Operation completed succesfully";
                                            response.result  = true;
                                            responseMessage  = Request.CreateResponse <IResponse>(HttpStatusCode.OK, response);
                                            break;

                                        case "conflict":
                                            response.Message = "Nickname already exist";
                                            response.result  = false;
                                            responseMessage  = Request.CreateResponse <IResponse>(HttpStatusCode.NotAcceptable, response);
                                            break;

                                        case "forbidden":
                                            response.Message = "Forbidden nickname";
                                            response.result  = false;
                                            responseMessage  = Request.CreateResponse <IResponse>(HttpStatusCode.Forbidden, response);
                                            break;

                                        default:
                                            response.Message = "Something went wrong";
                                            response.result  = false;
                                            responseMessage  = Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, response);
                                            break;
                                        }

                                        return(responseMessage);
                                    }
                                }
                                else
                                {
                                    response.HttpCode = 401;
                                    response.Message  = "User has already a Nickname";
                                    return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                                }
                            }
                            else
                            {
                                response.HttpCode = 401;
                                response.Message  = "Authentication key is not valid";
                                return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                            }
                        }
                        else
                        {
                            response.HttpCode = 401;
                            response.Message  = "Authentication key is required";
                            return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                        }
                    }
                    else
                    {
                        response.HttpCode = 401;
                        response.Message  = "Authentication key is required";
                        return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                    }
                }
                else
                {
                    response.HttpCode     = 426;
                    response.InternalCode = versionRequired;
                    response.Message      = "Upgrade required";
                    return(Request.CreateResponse <IResponse>(HttpStatusCode.UpgradeRequired, response));
                }
            }
            else
            {
                response.HttpCode = 404;
                response.Message  = "Version or Platform parameter can not be null";
                return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
            }
        }
        public SimpleTextResponse ValidateRequest(UserFacebookReqBody pRequest)
        {
            SimpleTextResponse validation = new SimpleTextResponse();

            try
            {
                if (pRequest.email == null)
                {
                    validation.result  = false;
                    validation.Message = "Email must not be empty";
                }
                else if (pRequest.facebookURL == null)
                {
                    validation.result  = false;
                    validation.Message = "FacebookURL must not be empty";
                }
                else if (String.IsNullOrEmpty(pRequest.firstname))
                {
                    validation.result  = false;
                    validation.Message = "Firstname is required";
                }
                else if (String.IsNullOrEmpty(pRequest.lastname))
                {
                    validation.result  = false;
                    validation.Message = "Lastname is required";
                }
                else if (pRequest.middlename == null)
                {
                    validation.result  = false;
                    validation.Message = "Middlename field must not be an empty string";
                }
                else if (pRequest.PersonID == null)
                {
                    validation.result  = false;
                    validation.Message = "PersonID is required";
                }
                else if (pRequest.PersonID <= 0)
                {
                    validation.result  = false;
                    validation.Message = "PersonID must be greater than zero";
                }
                else if (pRequest.phoneNumber == null)
                {
                    validation.result  = false;
                    validation.Message = "Phonenumber field must not be an empty string";
                }
                else if (pRequest.profileID == null)
                {
                    validation.result  = false;
                    validation.Message = "ProfileID is required";
                }
                else if (pRequest.userID == null)
                {
                    validation.result  = false;
                    validation.Message = "ProfileID is required";
                }
                else
                {
                    validation.result  = true;
                    validation.Message = "Accpeted";
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.InnerException);
            }

            return(validation);
        }
        public HttpResponseMessage AssociateFacebook(HttpRequestMessage pRequest, [FromBody] UserFacebookReqBody pFacebookData)
        {
            IEnumerable <string> token = null;

            pRequest.Headers.TryGetValues("Token-autorization", out token); //TODO: Corregir error ortográfico

            PersonEN personVerified = personBL.VerifyPersonAuthentication(token);

            if (token != null)
            {
                if (personVerified != null)
                {
                    if (personVerified.IsValidToken)
                    {
                        var validateRequest = interactor.ValidateRequest(pFacebookData);

                        if (validateRequest.result)
                        {
                            SimpleTextResponse  simpleResponse = new SimpleTextResponse();
                            HttpResponseMessage httpResponse   = new HttpResponseMessage();

                            FacebookEN facebookData = new FacebookEN();
                            facebookData.Email             = pFacebookData.email;
                            facebookData.FacebookProfileID = pFacebookData.profileID;
                            facebookData.FacebookUserID    = pFacebookData.userID;
                            facebookData.Firstname         = pFacebookData.firstname;
                            facebookData.Lastname          = pFacebookData.lastname;
                            facebookData.MiddleName        = pFacebookData.middlename;
                            facebookData.PersonID          = personVerified.PersonID;
                            facebookData.Phone             = pFacebookData.phoneNumber;
                            facebookData.URL = pFacebookData.facebookURL;

                            switch (facebookBL.AssociateFacebook(facebookData))
                            {
                            case "updated":
                                simpleResponse.result  = true;
                                simpleResponse.Message = "Facebook Profile has been Updated";
                                httpResponse           = pRequest.CreateResponse <IResponse>(HttpStatusCode.OK, simpleResponse);
                                break;

                            case "inserted":
                                simpleResponse.result  = true;
                                simpleResponse.Message = "Operation completed succesfully";
                                httpResponse           = pRequest.CreateResponse <IResponse>(HttpStatusCode.OK, simpleResponse);
                                break;

                            case "error":
                                simpleResponse.result  = false;
                                simpleResponse.Message = "Something went wrong";
                                httpResponse           = pRequest.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, simpleResponse);
                                break;

                            default:
                                simpleResponse.result  = false;
                                simpleResponse.Message = "Something went wrong";
                                httpResponse           = pRequest.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, simpleResponse);
                                break;
                            }

                            return(httpResponse);
                        }
                        else
                        {
                            response.HttpCode = 400;
                            response.Message  = "Authentication token has expired.";
                            return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, validateRequest));
                        }
                    }
                    else
                    {
                        response.HttpCode = 401;
                        response.Message  = "Authentication token has expired.";
                        return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                    }
                }
                else
                {
                    response.HttpCode = 401;
                    response.Message  = "Credentials are not valid.";
                    return(Request.CreateResponse <IResponse>(HttpStatusCode.Unauthorized, response));
                }
            }
            else
            {
                response.HttpCode = 400;
                response.Message  = "Authorization token must be provided";
                return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response));
            }
        }