/// <summary> /// Updates Resource with spectial Uid Updates Resource with spectial Uid /// </summary> /// <param name="name"></param> /// <param name="resourceUid"></param> /// <param name="mode"></param> /// <param name="recalculate"></param> /// <param name="storage"></param> /// <param name="folder"></param> /// <param name="fileName"></param> /// <param name="body"></param> /// <returns></returns> public ResourceResponse PutProjectResource (string name, int? resourceUid, string mode, bool? recalculate, string storage, string folder, string fileName, Resource body) { // create path and map variables var ResourcePath = "/tasks/{name}/resources/{resourceUid}/?appSid={appSid}&mode={mode}&recalculate={recalculate}&storage={storage}&folder={folder}&fileName={fileName}".Replace("{format}","json"); ResourcePath = Regex.Replace(ResourcePath, "\\*", "").Replace("&", "&").Replace("/?", "?").Replace("toFormat={toFormat}", "format={format}"); // query params var queryParams = new Dictionary<String, String>(); var headerParams = new Dictionary<String, String>(); var formParams = new Dictionary<String, object>(); // verify required params are set if (name == null || resourceUid == null || body == null ) { throw new ApiException(400, "missing required params"); } if (name == null){ ResourcePath = Regex.Replace(ResourcePath, @"([&?])name=", ""); }else{ ResourcePath = ResourcePath.Replace("{" + "name" + "}", apiInvoker.ToPathValue(name)); } if (resourceUid == null){ ResourcePath = Regex.Replace(ResourcePath, @"([&?])resourceUid=", ""); }else{ ResourcePath = ResourcePath.Replace("{" + "resourceUid" + "}", apiInvoker.ToPathValue(resourceUid)); } if (mode == null){ ResourcePath = Regex.Replace(ResourcePath, @"([&?])mode=", ""); }else{ ResourcePath = ResourcePath.Replace("{" + "mode" + "}", apiInvoker.ToPathValue(mode)); } if (recalculate == null){ ResourcePath = Regex.Replace(ResourcePath, @"([&?])recalculate=", ""); }else{ ResourcePath = ResourcePath.Replace("{" + "recalculate" + "}", apiInvoker.ToPathValue(recalculate)); } if (storage == null){ ResourcePath = Regex.Replace(ResourcePath, @"([&?])storage=", ""); }else{ ResourcePath = ResourcePath.Replace("{" + "storage" + "}", apiInvoker.ToPathValue(storage)); } if (folder == null){ ResourcePath = Regex.Replace(ResourcePath, @"([&?])folder=", ""); }else{ ResourcePath = ResourcePath.Replace("{" + "folder" + "}", apiInvoker.ToPathValue(folder)); } if (fileName == null){ ResourcePath = Regex.Replace(ResourcePath, @"([&?])fileName=", ""); }else{ ResourcePath = ResourcePath.Replace("{" + "fileName" + "}", apiInvoker.ToPathValue(fileName)); } try { if (typeof(ResourceResponse) == typeof(ResponseMessage)) { var response = apiInvoker.invokeBinaryAPI(basePath, ResourcePath, "PUT", queryParams, null, headerParams, formParams); return (ResourceResponse) ApiInvoker.deserialize(response, typeof(ResourceResponse)); } else { var response = apiInvoker.invokeAPI(basePath, ResourcePath, "PUT", queryParams, body, headerParams, formParams); if(response != null){ return (ResourceResponse) ApiInvoker.deserialize(response, typeof(ResourceResponse)); } else { return null; } } } catch (ApiException ex) { if(ex.ErrorCode == 404) { return null; } else { throw ex; } } }
public void TestPutProjectResource() { TasksApi target = new TasksApi(APIKEY, APPSID, BASEPATH); StorageApi storageApi = new StorageApi(APIKEY, APPSID, BASEPATH); string name = "sample-project-2.mpp"; int? resourceUid = 1; string mode = null; bool? recalculate = null; string storage = null; string folder = null; string fileName = null; Resource body = new Resource(); body.Uid = 0; storageApi.PutCreate(name, null, null, System.IO.File.ReadAllBytes("\\temp\\tasks\\resources\\" + name)); ResourceResponse actual; actual = target.PutProjectResource(name, resourceUid, mode, recalculate, storage, folder, fileName, body); Assert.AreEqual("200", actual.Code); Assert.IsInstanceOfType(new ResourceResponse(), actual.GetType()); }