public async Task <IActionResult> Add([FromBody] JObject receivedRequest)
        {
            var userIdentifier = User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value;
            var picture        = ExtractPictureFromRequest(receivedRequest, userIdentifier);
            var accessToken    = await GetAccessTokenWithUMAProtectionScope();

            using (var httpClient = new HttpClient())
            {
                var jObj = new JObject
                {
                    { "resource_scopes", new JArray("read") },
                    { "subject", userIdentifier },
                    { "icon", picture.Url },
                    { "name#en", "Picture" },
                    { "description#en", picture.Description },
                    { "type", "picture" }
                };
                var httpRequest = new HttpRequestMessage
                {
                    RequestUri = new Uri($"{UMA_BASE_URL}/rreguri"),
                    Method     = HttpMethod.Post,
                    Content    = new StringContent(jObj.ToString(), Encoding.UTF8, "application/json"),
                };
                httpRequest.Headers.Add("Authorization", $"Bearer {accessToken}");
                var httpResult = await httpClient.SendAsync(httpRequest);

                var json = await httpResult.Content.ReadAsStringAsync();

                picture.ResourceId = JObject.Parse(json)["_id"].ToString();
                _pictureRepository.AddPicture(picture);
            }

            return(new NoContentResult());
        }
        private async void BtnCreateConfirm_Tapped(object sender, TappedRoutedEventArgs e)
        {
            Answer  add = new Answer();
            Picture pic = new Picture();

            //If there was an image selected with the create new
            if (file != null)
            {
                //converts image to byte and saves to database
                pic.Image = await imageConverter.ImageToByte(file);;
                picRepo.AddPicture(pic);
                //If there is text to image adds it to new answer
                if (txtCreateNewAnswer.Text != "")
                {
                    add.Text = txtCreateNewAnswer.Text;
                }

                answerRepo.AddAnswer(add);

                //joins answer to picture in joining table
                var answerPic = new AnswerPicture {
                    AnswerID = add.ID, PictureID = pic.ID
                };
                answerRepo.AddAnswerPicture(answerPic);
                add.AnswerPictures.Add(answerPic);

                answerRepo.UpdateAnswer(add);
                btnCreateNewAnswer.Flyout.Hide();
                PopulateAnswerList();
            }
            else
            {
                //if no image is added, inserts new answer with text
                add.Text = txtCreateNewAnswer.Text;
                answerRepo.AddAnswer(add);
                btnCreateNewAnswer.Flyout.Hide();
                PopulateAnswerList();
            }
        }
 public bool AddPicture(PictureModel obj, int albumID)
 {
     return(_pictureRepository.AddPicture(obj, albumID) > 0 ? true : false);
 }
Beispiel #4
0
 public void AddPicture(Picture picture)
 {
     _pictureRepository.AddPicture(picture);
 }