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; } }
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); }
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()); } }
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; } }