Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
        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);
            }
        }