示例#1
0
        public static async Task <JacketUploadResponse> PostJacket(JacketUploadRequest jacketRequest)
        {
            await Task.Delay(3000);

            var response = new JacketUploadResponse
            {
                Error   = false,
                Message = "Jacket Upload Successful"
            };

            return(response);
        }
示例#2
0
        public async Task <JacketUploadResponse> UploadJacket()
        {
            if (payload != null)
            {
                response = await MockAPIService.PostJacket(payload);

                return(response);
            }
            return(new JacketUploadResponse {
                Error = true, Message = "Something went wrong"
            });
        }
示例#3
0
        public async Task <IActionResult> Upload([FromBody] JacketUploadRequest jacketUploadRequest)
        {
            var response = new JacketUploadResponse();
            var count    = await _jacketService.GetCountAsync();

            if (count == 5000)
            {
                response = new JacketUploadResponse {
                    Error = true, Message = "All 5000 Jackets Assigned"
                };
                return(Ok(response));
            }

            var jacket = new Jacket();
            var secret = "";

            if (jacketUploadRequest != null)
            {
                jacket = new Jacket
                {
                    //Id = jacketUploadRequest.IndexId,
                    JacketOwner = jacketUploadRequest.Owner,
                    JacketID    = jacketUploadRequest.ID,
                    Location    = jacketUploadRequest.Country
                };
                secret = jacketUploadRequest.Secret;
            }
            else
            {
                response = new JacketUploadResponse {
                    Error = true, Message = "Something went wrong"
                };
                return(Ok(response));
            }

            var exists = await _jacketService.GetJacketByIdAsync(jacket.JacketID);

            if (exists != null)
            {
                response = new JacketUploadResponse {
                    Error = true, Message = "Jacket Already Assigned"
                };
                return(Ok(response));
            }

            //if(jacket.Id == 0)
            //{
            //  jacket.Id = (await _jacketService.GetCountAsync()) + 1;
            //}

            var secretPass  = SecretCheck.IsValid(jacket.JacketID, secret);
            var locationUri = "";

            if (secretPass)
            {
                var uploaded = await _jacketService.UploadAsync(jacket);

                if (uploaded)
                {
                    var baseUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent()}";
                    locationUri = baseUrl + "/" + ApiRoutes.Jackets.GetById.Replace("{jacketId}", jacket.Id.ToString());
                    response    = new JacketUploadResponse {
                        Error = false, Message = "Jacket Upload Successful"
                    };
                }
                else
                {
                    response = new JacketUploadResponse {
                        Error = true, Message = "Something went wrong"
                    };
                }
            }
            else
            {
                response = new JacketUploadResponse {
                    Error = true, Message = "Secret Key is not Valid"
                };
            }

            return(Created(locationUri, response));
        }