public IList<Viaggio> GetListaViaggiVisibili(Agenzia agenzia)
 {
     using (var om = new OperationManager())
     {
         try
         {
             var session = om.BeginOperation();
             var result = GetViaggiVisibili(agenzia).ToList();
             om.CommitOperation();
             return result;
         }
         catch (Exception ex)
         {
             om.RollbackOperation();
             string msg = String.Format("Errore durante il recupero dei viaggi visibili dell'agenzia {0}", agenzia.ToString());
             logger.ErrorException(msg, ex);
             throw new Exception(msg, ex);
         }
     }
 }
 public ActionResult ResetPassword()
 {
     var viewModel = new Agenzia();
     return View(viewModel);
 }
 /// <summary>
 /// Prende tutti i viaggi pubblicati o proposti dall'agenzia dell'utente loggato
 /// </summary>
 /// <returns></returns>
 internal IQueryable<Viaggio> GetViaggiVisibili(Agenzia agenzia)
 {
     using (var om = new OperationManager())
     {
         try
         {
             var session = om.BeginOperation();
             var result = GetViaggi()
                          .Where(v => v.Agenzia.Id == agenzia.Id);
             om.CommitOperation();
             return result;
         }
         catch (Exception ex)
         {
             om.RollbackOperation();
             string msg = String.Format("Errore durante il recupero dei viaggi pubblicati o proposti dall'agenzia {0}", agenzia);
             logger.ErrorException(msg, ex);
             throw new Exception(msg, ex);
         }
     }
 }
 public ActionResult Save(Agenzia agenzia)
 {
     if (ModelState.IsValid)
         ar.Save(agenzia);
     return RedirectToAction("Edit", new { id = agenzia.Id });
 }
 public void Save(Agenzia agenzia)
 {
     base.update<Agenzia>(agenzia);
 }
 public IList<Viaggio> GetProposteAgenzia(Agenzia agenzia)
 {
     var ar = new AgenziaRepository();
     using (var om = new OperationManager())
     {
         try
         {
             var session = om.BeginOperation();
             logger.Info("Recupero dei viaggi proposti dall'agenzia {0}", agenzia);
             var viaggi = session.Query<Viaggio>()
                             .Where(v => v.Agenzia.Id == agenzia.Id)
                             .ToList();
             logger.Debug("Viaggi proposti: {0}", viaggi.Count);
             om.CommitOperation();
             return viaggi;
         }
         catch (Exception ex)
         {
             om.RollbackOperation();
             string msg = String.Format("Impossibile recuperare i viaggi proposti dall'agenzia {0}", agenzia);
             logger.ErrorException(msg, ex);
             throw new Exception(msg, ex);
         }
     }
 }