public async Task<ActionResult<ArtykulModel>> Dodajkomentarz([FromBody]KomentarzModel komment)
 {
     try
     {
         return await DBConnector.DodajKomentarz(komment);
     }
     catch (Exception err)
     {
         Console.WriteLine("Error occured while adding article to DB.");
         return null;
     }
 }
예제 #2
0
        internal static async Task <ArtykulModel> DodajKomentarz(KomentarzModel komment)
        {
            var MongoDBClient   = dbClient.GetDatabase(DBName);
            var ArtykulKolekcja = MongoDBClient.GetCollection <ArtykulModel>("Artykuly");
            var TempArtykul     = ArtykulKolekcja.Find(x => x.Id == komment.Artykulid).First();

            if (TempArtykul.Komentarze == null)
            {
                TempArtykul.Komentarze = new List <KomentarzModel>();
            }
            TempArtykul.Komentarze.Add(komment);
            await ArtykulKolekcja.FindOneAndReplaceAsync(x => x.Id == komment.Artykulid, TempArtykul);

            return(TempArtykul);
        }
예제 #3
0
        public ActionResult Create(int id, KomentarzModel model)
        {
            model.IdPosta = id;
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            try
            {
                _komenatrze.DodajKomentarz(model.IdPosta, model.Autor, model.Tresc, model.Status);
                return(RedirectToAction("Details", "Post", new { id = id }));
            }
            catch
            {
                return(View());
            }
        }
예제 #4
0
        private async void Button_Clicked(object sender, EventArgs e)
        {
            LoaderIndicator.IsRunning = true;
            LoaderIndicator.IsVisible = true;
            try
            {
                var KomentObject = new KomentarzModel()
                {
                    ArtukulID = artyukul.ObjectId,
                    Tresc     = Komentarz.Text,
                    Autor     = Main.User.Mail,
                    Data      = DateTime.Now
                };
                if (!Application.Current.Properties.ContainsKey("token"))
                {
                    await DisplayAlert("Ooops", "Musisz być zalogowany aby dodać komentarz", "OK");

                    return;
                }
                if (String.IsNullOrEmpty(KomentObject.Tresc))
                {
                    await DisplayAlert("Ooops", "Nie mozesz dodac pustego komentarza", "OK");

                    return;
                }

                var PendingContext = JsonConvert.SerializeObject(KomentObject);
                using (var HttpConnector = new HttpApiConnector().GetClient())
                {
                    var Buffer      = Encoding.UTF8.GetBytes(PendingContext);
                    var byteContent = new ByteArrayContent(Buffer);
                    byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                    HttpConnector.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Application.Current.Properties["token"].ToString());
                    var response = await HttpConnector.PostAsync(Constants.ConnectionApiUriArtykul + "komentarz/", byteContent);

                    if (response.IsSuccessStatusCode)
                    {
                        await DisplayAlert("Sukcess", "Dodano komentarz do artykulu", "Ok");

                        _comments.Insert(0, KomentObject);
                        //this.CommentsGrid.RowDefinitions.Add(new RowDefinition() { Height = 60 });
                        ////this.CommentsGrid.Children.Add(new Frame() { Content = new Label() { Text = KomentObject.Tresc } }, 0, this.CommentsGrid.Children.Count);
                        //this.CommentsGrid.Children.Add(new CommentView() { BindingContext = KomentObject }, 0, this.CommentsGrid.Children.Count);
                        this.Komentarz.Text = String.Empty;
                    }
                    else
                    {
                        await DisplayAlert("Error", "Blad dodania komentarza", "Ok");
                    }
                }
            }
            catch (Exception err)
            {
                await DisplayAlert("Error", "Błąd podaczas dodawanie komentarza", "Ok");
            }
            finally
            {
                LoaderIndicator.IsRunning = false;
                LoaderIndicator.IsVisible = false;
            }
        }