public List <Recensione> GetRecensioniSalvate(string username) { List <Recensione> recensioni = null; try { if (username == null) { throw new ArgumentException("Username nullo"); } ISession sessione = GetConnection(); sessione.BeginTransaction(); RecensioniPreferite recensioniRicevute = null; ICriteria criteria = sessione.CreateCriteria <RecensioniPreferite>(); recensioniRicevute = (RecensioniPreferite)criteria.Add(Expression.Like("Username", username)).UniqueResult(); sessione.Transaction.Commit(); sessione.Transaction.Dispose(); recensioni = new List <Recensione>(); foreach (Recensione r in recensioniRicevute.RecensioniSalvate) { if (r.Punteggio != -1) { Libro temp = new Libro { Anno = r.Libro.Anno, Autore = r.Libro.Autore, FilePath = r.Libro.FilePath, Gen = r.Libro.Gen, Titolo = r.Libro.Titolo }; Recensione recTemp = new Recensione() { Punteggio = r.Punteggio, Libro = temp, Commento = r.Commento, Username = r.Username, Id = r.Id }; recensioni.Add(recTemp); } } RegisterOperazione("get recensioni salvate", username); return(recensioni); } catch (Exception e) { throw new FaultException <BookFault>(new BookFault(e.Message)); } }
public void RegistraDati(string username, string password, string email) { if (String.IsNullOrEmpty(username)) { throw new ArgumentException("Username nullo"); } if (String.IsNullOrEmpty(password)) { throw new ArgumentException("Password nulla"); } if (String.IsNullOrEmpty(email)) { throw new ArgumentException("Email nulla"); } if (username.Length < 3) { throw new ArgumentException("Lunghezza minima username: 3 caratteri"); } if (password.Length < 10) { throw new ArgumentException("Lunghezza minima password: 10 caratteri"); } try { ISession sessione = GetConnection(); sessione.BeginTransaction(); Iscritto iscritto = new Iscritto { Username = username, Email = email, Password = password, Ruolo = "utente" }; sessione.Save(iscritto); RecensioniPreferite recensioniPreferite = new RecensioniPreferite(username); sessione.Save(recensioniPreferite); ListePreferite listePreferite = new ListePreferite(username); sessione.Save(listePreferite); sessione.Transaction.Commit(); sessione.Transaction.Dispose(); PrintAccesso("login", username); } catch (Exception e) { throw new ArgumentException("Credenziali non valide: " + e.ToString()); } }
public void SalvaRecensione(Recensione recensione, string username) { try { RecensioniPreferite recPrefe = null; ISession sessione = _gestisciUtente.OpenConnection(); sessione.BeginTransaction(); ICriteria criteria = sessione.CreateCriteria<RecensioniPreferite>(); recPrefe = (RecensioniPreferite)criteria.Add(Expression.Like("Username", username)).UniqueResult(); Recensione trovata; ICriteria criteria2 = sessione.CreateCriteria<Recensione>(); trovata = (Recensione)criteria2.Add(Expression.Like("Id", recensione.Id)).UniqueResult(); if(trovata != null) recPrefe.RecensioniSalvate.Add(trovata); sessione.Update(recPrefe); sessione.Transaction.Commit(); sessione.Transaction.Dispose(); _gestisciUtente.RegisterOperazione("Salvataggio recensione", username); } catch (Exception e) { throw new FaultException<BookFault>(new BookFault(e.Message)); } }
public void RimuoviRecensione(Recensione recensione, string username) { try { RecensioniPreferite recPrefe = null; ISession sessione = _gestisciUtente.OpenConnection(); sessione.BeginTransaction(); ICriteria criteria = sessione.CreateCriteria<RecensioniPreferite>(); recPrefe = (RecensioniPreferite)criteria.Add(Expression.Like("Username", username)).UniqueResult(); List<Recensione> recSalvateNew = new List<Recensione>(); foreach (Recensione rec in recPrefe.RecensioniSalvate) if (rec.Id != recensione.Id) recSalvateNew.Add(rec); recPrefe.RecensioniSalvate = recSalvateNew; sessione.Update(recPrefe); sessione.Transaction.Commit(); sessione.Transaction.Dispose(); _gestisciUtente.RegisterOperazione("Rimozione recensione salvata", username); } catch (Exception e) { throw new FaultException<BookFault>(new BookFault(e.Message)); } }