Open kolimihariprasad opened 3 years ago
my code: public async Task CreateTask(string user,string id,string contentType, string Param, string Taskdesc) { try { ContentPlanningDAL contentPlanningDAL = new ContentPlanningDAL(_config); DataTable dt = new DataTable(); dt = contentPlanningDAL.GetContentDetaisByKeywordID(id); Uri uri = new Uri(_uri); string personalAccessToken = contentPlanningDAL.GetUserPAT(user); string project = _project;
VssBasicCredential credentials = new VssBasicCredential("", personalAccessToken); VssConnection connection = new VssConnection(uri, credentials); WorkItemTrackingHttpClient workItemTrackingHttpClient = connection.GetClient<WorkItemTrackingHttpClient>(); AttachmentReference attachment; CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(AccessKey); CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient(); string strContainerName = ContainerName; CloudBlobContainer cloudBlobContainer = cloudBlobClient.GetContainerReference(strContainerName); string[] url = Param.Split('/'); string fileUrl = HttpUtility.UrlDecode(url[4]); fileUrl = fileUrl.Replace("#", ""); var blob = cloudBlobContainer.GetBlockBlobReference(fileUrl); string fileName = HttpUtility.UrlDecode(url[4].Split('_')[0]); Stream blobStream = await blob.OpenReadAsync(); FileStreamResult fileStreamResult = File(blobStream, blob.Properties.ContentType); MemoryStream ms = new MemoryStream(); // MemoryStream mst = new MemoryStream(); blobStream.CopyTo(ms); attachment = workItemTrackingHttpClient.CreateAttachmentAsync(ms, fileUrl,"Simple", null, null, default).Result; JsonPatchDocument patchDocument = new JsonPatchDocument(); patchDocument.Add( new JsonPatchOperation() { From = null, Operation = Operation.Add, Path = "/relations/-", Value = new { rel = "AttachedFile", url = attachment.Url, attributes = new { comment ="",DateAttached=DateTime.Now } }} ); //task title patchDocument.Add( new JsonPatchOperation() { From = null, Operation = Operation.Add, Path = "/fields/System.Title", Value = dt.Rows[0].Field<string>("Title") } ); patchDocument.Add( new JsonPatchOperation() { From = null, Operation = Operation.Add, Path = "/fields/System.CreatedDate", Value = DateTime.Now } ); patchDocument.Add( new JsonPatchOperation() { From = null, Operation = Operation.Add, Path = "/fields/System.CreatedBy", Value = user } ); //activity patchDocument.Add( new JsonPatchOperation() { From = null, Operation = Operation.Add, Path = "/fields/Microsoft.VSTS.Common.Activity", Value = "Development" }); string desc = dt.Rows[0].Field<string>("Description"); if(desc != null) { patchDocument.Add( new JsonPatchOperation() { From = null, Operation = Operation.Add, Path = "/fields/System.Description", Value = desc }); } patchDocument.Add( new JsonPatchOperation() { From = null, Operation = Operation.Add, Path = "/fields/System.AssignedTo", //for value both email id and name can be passed //Value = dt.Rows[0].Field<string>("AssignedTo") Value = "hari.prasad@acuvate.com" }); //tags patchDocument.Add( new JsonPatchOperation() { From = null, Operation = Operation.Add, Path = "/fields/System.Tags", Value = "Tags" }); //type of work item string wiType = "Task";//Console.ReadLine(); var result = workItemTrackingHttpClient.CreateWorkItemAsync(patchDocument, project, wiType).Result; //WorkItem result = workItemTrackingHttpClient.CreateWorkItemAsync(patchDocument, project, wiType).Result; FileInfo fileInfo = new FileInfo(path); //if (fileInfo.Exists) //{ // fileInfo.Delete(); //} int taskId = Convert.ToInt32(result.Id); if(taskId > 0) { //int uploadedRows = contentPlanningDAL.UpdateTaskWithTicketId(taskId, id); } return result; } catch (Exception ex) { ExceptionLoggingController exceptionLoggingController = new ExceptionLoggingController(_config); exceptionLoggingController.InsertError(ex.Message, "create task for azue bord", "API", "", ex.GetHashCode().ToString(), ex.StackTrace, "", "", "", ""); } finally{ } return null; }
my code: public async Task CreateTask(string user,string id,string contentType, string Param, string Taskdesc)
{
try
{
ContentPlanningDAL contentPlanningDAL = new ContentPlanningDAL(_config);
DataTable dt = new DataTable();
dt = contentPlanningDAL.GetContentDetaisByKeywordID(id);
Uri uri = new Uri(_uri);
string personalAccessToken = contentPlanningDAL.GetUserPAT(user);
string project = _project;