private async Task SetLicenseIdAsync(int id) { string lid = LMSTools.GenerateLicenseId(id); HttpClient Http = new HttpClient(); Http.DefaultRequestHeaders.Add("Accept", "application/json"); Http.DefaultRequestHeaders.Add("X-RequestDigest", await LMSTools.GetDigestAsync(Navigator.BaseUri)); Http.DefaultRequestHeaders.Add("IF-MATCH", "*"); Http.DefaultRequestHeaders.Add("X-HTTP-Method", "MERGE"); Item data = new Item(); Metadata metadata = new Metadata(); metadata.Type = Settings.LicensesListType; data.Metadata = metadata; data.Title = lid; var myContent = JsonConvert.SerializeObject(data); var buffer = System.Text.Encoding.UTF8.GetBytes(myContent); var byteContent = new ByteArrayContent(buffer); var mediaType = new MediaTypeWithQualityHeaderValue("application/json"); MediaTypeWithQualityHeaderValue.TryParse("application/json;odata=verbose", out mediaType); byteContent.Headers.ContentType = mediaType; var response = await Http.PostAsync(Navigator.BaseUri + Settings.BaseURL + "_api/web/lists(guid'" + Settings.LicensesListGuid + "')/items('" + id + "')", byteContent); if (response.StatusCode == HttpStatusCode.NoContent) { Console.WriteLine("Done!, Your License ID is: " + lid); } else { result = "Filed to Update Title, Your Input Json: "; Console.WriteLine(result + " : " + JsonConvert.SerializeObject(data)); } }
private async Task getUserListAsync() { if (name != "") { HttpClient Http = new HttpClient(); string url = Navigator.BaseUri + Settings.BaseURL; Http.DefaultRequestHeaders.Add("Accept", "application/json"); Http.DefaultRequestHeaders.Add("X-RequestDigest", await LMSTools.GetDigestAsync(Navigator.BaseUri)); var response = await Http.PostAsync(url + "_api/web/ensureuser('" + name + "')", null); if ((int)response.StatusCode == 200) { root = JsonConvert.DeserializeObject <Root>(await response.Content.ReadAsStringAsync()); id = root.Id; loginName = root.LoginName; name = root.Title; CalculateValidation(); } else { id = 0; loginName = ""; name = ""; CalculateValidation(); } } StateHasChanged(); }
private async Task UploadAsync(int id) { Upload data = new Upload() { controlId = "license", url = Navigator.BaseUri + Settings.BaseURL, listGuidMain = Settings.LicensesListGuid, itemId = id, digest = await LMSTools.GetDigestAsync(Navigator.BaseUri) }; bool x = await jsRun.InvokeAsync <bool>("fileUpload", data); }
private async Task SubmitAsync() { HttpClient Http = new HttpClient(); Http.DefaultRequestHeaders.Add("Accept", "application/json"); Http.DefaultRequestHeaders.Add("X-RequestDigest", await LMSTools.GetDigestAsync(Navigator.BaseUri)); Item data = new Item(); Metadata metadata = new Metadata(); metadata.Type = Settings.LicensesListType; data.Metadata = metadata; data.SystemName = license.SystemName; data.LicenseName = license.LicenseName; data.LicenseKey = license.LicenseKey; data.Description = license.Description; data.OwnerId = peoplePicker.GetValue(); data.ContractNumber = license.ContractNumber; data.StartDate = license.StartDate; data.EndDate = license.EndDate; data.IssuedDate = license.IssuedDate; data.PlannedRenewal = license.PlannedRenewal; data.Quantity = license.Quantity; data.Utilized = license.Utilized; data.Cost = license.Cost; data.TotalCost = license.Quantity * license.Cost; data.TypeOfCost = license.TypeOfCost; var myContent = JsonConvert.SerializeObject(data); var buffer = System.Text.Encoding.UTF8.GetBytes(myContent); var byteContent = new ByteArrayContent(buffer); var mediaType = new MediaTypeWithQualityHeaderValue("application/json"); MediaTypeWithQualityHeaderValue.TryParse("application/json;odata=verbose", out mediaType); byteContent.Headers.ContentType = mediaType; var response = await Http.PostAsync(Navigator.BaseUri + Settings.BaseURL + "_api/web/lists(guid'" + Settings.LicensesListGuid + "')/items", byteContent); if (response.StatusCode == HttpStatusCode.Created) { root = JsonConvert.DeserializeObject <Root>(await response.Content.ReadAsStringAsync()); await SetLicenseIdAsync(root.Id); await UploadAsync(root.Id); } }