示例#1
0
        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);
        }
示例#2
0
        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");
                }
            }
        }
示例#3
0
        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);
        }