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)); } }
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 HttpResponseMessage RegisterConsumer(HttpRequestMessage pRequest, [FromBody] RegisterPhoneReqBody 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(data.deviceID) || String.IsNullOrEmpty(data.phone) || String.IsNullOrEmpty(data.countryID)) { response.HttpCode = 400; response.Message = "Values for 'phone', 'countryID' and 'deviceID' are required."; return(Request.CreateResponse <IResponse>(HttpStatusCode.BadRequest, response)); } else { PhoneConsumerResponse phoneResponse = new PhoneConsumerResponse(); var RegisterPhoneResult = tokenBL.RegisterPhoneConsumer(consumerVerified, data.phone, data.deviceID, Convert.ToInt32(data.countryID)); if (RegisterPhoneResult.registeredAndSent != false) { phoneResponse.result = true; phoneResponse.consumerID = consumerVerified.ConsumerID; phoneResponse.message = "Operation succeeded"; return(Request.CreateResponse <IResponse>(HttpStatusCode.OK, phoneResponse)); } else if (RegisterPhoneResult.TimeRemaining != null) { phoneResponse.result = false; phoneResponse.consumerID = consumerVerified.ConsumerID; phoneResponse.message = "Last confirmation message was sended in less than 1.5 minutes ago"; phoneResponse.SecondsRemaining = RegisterPhoneResult.TimeRemaining; return(Request.CreateResponse <IResponse>(HttpStatusCode.Created, phoneResponse)); } else { phoneResponse.result = false; phoneResponse.consumerID = consumerVerified.ConsumerID; phoneResponse.message = "Something went wrong"; return(Request.CreateResponse <IResponse>(HttpStatusCode.InternalServerError, phoneResponse)); } } } 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)); } }