public async Task <IEnumerable <ThreeGBSlotData> > GetAvailableProjectsAsync(AvailableThreeGBProjectsRequestArgs requestArgs) { var(UserName, Password) = Credentials.GetCredentials(); using (var svc = new ThreeGBSoapClient { Url = BASE_SVC_URL, Credentials = new NetworkCredential(UserName, Password) }) { svc.Model = new { requestArgs.CropCode, requestArgs.BrStationCode, ThreeGBType = requestArgs.TestTypeCode }; var response = await svc.GetAvailable3GBProjectAsync(); //apply data filter if required. return(response); } }
public async Task <IHttpActionResult> GetAvailableProjects([FromUri] AvailableThreeGBProjectsRequestArgs args) { if (args == null) { return(InvalidRequest("Please provide required parameters.")); } if (string.IsNullOrWhiteSpace(args.CropCode)) { return(InvalidRequest("Please provide Crop Code.")); } if (string.IsNullOrWhiteSpace(args.BrStationCode)) { return(InvalidRequest("Please provide Breeding Station code.")); } if (string.IsNullOrWhiteSpace(args.TestTypeCode)) { return(InvalidRequest("Please provide Test Type Code.")); } var projects = await _threeGBService.GetAvailableProjectsAsync(args); return(Ok(projects)); }