public static List <Recensione> GetRecensioni(ParametriRicercaRecensione parametri) { string query = $"select * " + $"from Utenti U, Recensioni R " + $"where U.Nickname = R.NicknameUtente and R.idStruttura = {parametri.IdStruttura} and " + $"R.valutazione >= {parametri.ValutazioneMinimo} and R.valutazione <= {parametri.ValutazioneMassimo} and " + $"R.dataCreazione <= '{parametri.DataAl.ToString("yyyy-MM-dd")}' and R.dataCreazione >= '{parametri.DataDal.ToString("yyyy-MM-dd")}' " + $"and R.stato = 'approvato';"; DataTable table = EseguiComando(query); List <Recensione> recensioni = new List <Recensione>(); foreach (DataRow row in table.Rows) { Recensione recensione = new Recensione() { IdRecensione = (int)row["idRecensione"], NicknameUtente = row["NickNameUtente"].ToString(), NomeUtente = row["Nome"].ToString(), CognomeUtente = row["Cognome"].ToString(), VisibileConNickname = (bool)row["visibileConNickname"], Commento = row["Commento"].ToString(), DataCreazione = (DateTime)row["DataCreazione"], Valutazione = (int)row["Valutazione"] }; recensioni.Add(recensione); } return(recensioni); }
private async void EventRecensisciClicked(object sender, EventArgs e) { if (!CheckCorrettezzaRecensione()) { await DisplayAlert("Errore", $"Inserire valutazione e commento testuale almeno lungo {LUNGHEZZA_MINIMA_COMMENTO} caratteri", "Ok"); } else { bool risposta = await DisplayAlert("Attenzione", "Sei sicuro di voler richiedere la pubblicazione della recensione?", "si", "no"); try { if (risposta) { Recensione recensione = new Recensione { NicknameUtente = UtilityUtente.Nickname, Valutazione = (int)valutazionePicker.SelectedItem, Commento = editor.Text, VisibileConNickname = visibileNicknameCheckBox.IsChecked, DataCreazione = DateTime.Now, IdStruttura = this.IdStruttura }; Queries.CaricaRecensione(recensione); await DisplayAlert("Richiesta inviata", "Richiesta di pubblicazione della recensione inviata con successo", "ok"); await Navigation.PopAsync(); } } catch (SqlException) { await DisplayAlert("Errore", "Connessione internet assente", "Ok"); } } }
public static void CaricaRecensione(Recensione recensione) { int visibileConNickaname = (recensione.VisibileConNickname) ? 1 : 0; string query = "insert into Recensioni (valutazione, commento, stato, visibileConNickname, dataCreazione, nicknameUtente, idStruttura) values " + $"({recensione.Valutazione}, '{recensione.Commento}', 'in attesa', {visibileConNickaname}, '{recensione.DataCreazione.ToString("MM/dd/yyyy")}', " + $"'{recensione.NicknameUtente}', {recensione.IdStruttura})"; EseguiModifica(query); }