コード例 #1
0
 public ActionResult Edit(int id)
 {
     Agenzia agenzia = null;
     if (id == 0)
         agenzia = new Agenzia();
     else
         agenzia = ar.GetById(id);
     return View(agenzia);
 }
コード例 #2
0
 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("Error {0}", null);
             logger.ErrorException(msg, ex);
             throw new Exception(msg, ex);
         }
     }
 }
コード例 #3
0
ファイル: AgenziaManager.cs プロジェクト: themarcuz/BusBook
 public int CalcolaNumeroViaggiOrganizzati(Agenzia agenzia)
 {
     using (var om = new OperationManager())
     {
         try
         {
             var session = om.BeginOperation();
             var num = session.Query<Viaggio>()
                         .Count(v => v.Agenzia.Id == agenzia.Id);
             om.CommitOperation();
             return num;
         }
         catch (Exception ex)
         {
             om.RollbackOperation();
             string msg = String.Format("Impossibile calcolare il numero di viaggi proposti dall'agenzia {0}", agenzia);
             logger.ErrorException(msg, ex);
             throw new Exception(msg, ex);
         }
     }
 }
コード例 #4
0
ファイル: AgenziaManager.cs プロジェクト: themarcuz/BusBook
 public int CalcolaKmViaggiPartecipati(Agenzia agenzia)
 {
     using (var om = new OperationManager())
     {
         try
         {
             var session = om.BeginOperation();
             var km = session.Query<Partecipazione>()
                         .Where(p => p.Utente.Agenzia.Id == agenzia.Id)
                         .Sum(p => (int?)p.Viaggio.DistanzaPercorsa) ?? 0;
             om.CommitOperation();
             return km;
         }
         catch (Exception ex)
         {
             om.RollbackOperation();
             string msg = String.Format("Impossibile calcolare i km di viaggio a cui ha partecipato l'agenzia {0}", agenzia);
             logger.ErrorException(msg, ex);
             throw new Exception(msg, ex);
         }
     }
 }
コード例 #5
0
ファイル: AgenziaManager.cs プロジェクト: themarcuz/BusBook
 public int CalcolaKmViaggiOrganizzati(Agenzia agenzia)
 {
     using (var om = new OperationManager())
     {
         try
         {
             var session = om.BeginOperation();
             var km = session.Query<Viaggio>()
                         .Where(v => v.Agenzia.Id == agenzia.Id)
                         .Sum(v => (int?) v.DistanzaPercorsa) ?? 0;
             om.CommitOperation();
             return km;
         }
         catch (Exception ex)
         {
             om.RollbackOperation();
             string msg = String.Format("Impossibile calcolare i km di viaggio proposti dall'agenzia {0}", agenzia);
             logger.ErrorException(msg, ex);
             throw new Exception(msg, ex);
         }
     }
 }
コード例 #6
0
ファイル: ViaggioManager.cs プロジェクト: themarcuz/BusBook
 internal string getDepliantFolder(Agenzia agenzia)
 {
     return getAllegatoFolder(agenzia.Id, Configurator.Istance.depliantFolder);
 }
コード例 #7
0
ファイル: ViaggioManager.cs プロジェクト: themarcuz/BusBook
        public List<Viaggio> Search(ViaggioSearch searchParams, Agenzia agenzia)
        {
            using (var om = new OperationManager())
            {
                try
                {
                    var session = om.BeginOperation();
                    var viaggiFound = vr.GetViaggiVisibili(agenzia);

                    if (searchParams != null)
                    {
                        if (searchParams.onlyPubblicati)
                            viaggiFound = viaggiFound.Where(v => v.DataPubblicazione != null);
                        if (!String.IsNullOrEmpty(searchParams.SearchString))
                            viaggiFound = viaggiFound.Where(v => v.Nome.ToUpper().StartsWith(searchParams.SearchString.ToUpper()));
                        if (searchParams.DataPartenzaMin != null)
                            viaggiFound = viaggiFound.Where(v => v.DataPartenza >= searchParams.DataPartenzaMin);
                        if (searchParams.DataPartenzaMax != null)
                            viaggiFound = viaggiFound.Where(v => v.DataPartenza <= searchParams.DataPartenzaMax);
                        if (searchParams.PrezzoMin != null)
                            viaggiFound = viaggiFound.Where(v => v.PrezzoStandard >= searchParams.PrezzoMin);
                        if (searchParams.PrezzoMax != null)
                            viaggiFound = viaggiFound.Where(v => v.PrezzoStandard <= searchParams.PrezzoMax);
                        if (searchParams.PassaDa != null)
                            viaggiFound = AddTappaSearchFilter(viaggiFound, searchParams.PassaDa, searchParams.PassaDaTipoSearch, TipoTappa.PICK_UP_POINT);
                        if (searchParams.ArrivaA != null)
                            viaggiFound = AddTappaSearchFilter(viaggiFound, searchParams.ArrivaA, searchParams.ArrivaATipoSearch, TipoTappa.DESTINAZIONE);
                    }
                    var result = viaggiFound.ToList();
                    om.CommitOperation();
                    return result;
                }
                catch (Exception ex)
                {
                    om.RollbackOperation();
                    string msg = String.Format("Errore nella ricerca viaggio");
                    logger.ErrorException(msg, ex);
                    throw new Exception(msg, ex);
                }
            }
        }
コード例 #8
0
ファイル: ViaggioManager.cs プロジェクト: themarcuz/BusBook
 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);
         }
     }
 }
コード例 #9
0
ファイル: ViaggioManager.cs プロジェクト: themarcuz/BusBook
 public IList<Viaggio> GetPartecipazioniAgenzia(Agenzia agenzia)
 {
     var ar = new AgenziaRepository();
     using (var om = new OperationManager())
     {
         try
         {
             var session = om.BeginOperation();
             logger.Info("Recupero dei viaggi a cui l'agenzia {0} ha partecipato", agenzia);
             var viaggi = session.Query<Partecipazione>()
                             .Where(p => p.Utente.Agenzia.Id == agenzia.Id)
                             .Select(p => p.Viaggio)
                             .ToList();
             logger.Debug("Viaggi trovati: {0}", viaggi.Count);
             om.CommitOperation();
             return viaggi;
         }
         catch (Exception ex)
         {
             om.RollbackOperation();
             string msg = String.Format("Impossibile recuperare i viaggi a cui l'agenzia {0} ha partecipato", agenzia);
             logger.ErrorException(msg, ex);
             throw new Exception(msg, ex);
         }
     }
 }
コード例 #10
0
 public DettaglioAgenziaView(Agenzia a)
     : this(a, null)
 {
 }
コード例 #11
0
 public DettaglioAgenziaView(Agenzia a, String s)
 {
     agenzia = a;
     search = s;
 }
コード例 #12
0
 public ActionResult DetailPartial(Agenzia agenzia)
 {
     var dav = new DettaglioAgenziaView(agenzia);
     return PartialView("Detail", dav);
 }
コード例 #13
0
 public ActionResult Save(Agenzia agenzia)
 {
     if (ModelState.IsValid)
     {
         ar.Save(agenzia);
         return RedirectToAction("List");
     }
     return View(agenzia);
 }
コード例 #14
0
ファイル: AgenziaManager.cs プロジェクト: themarcuz/BusBook
 public int CalcolaNumeroViaggiPartecipati(Agenzia agenzia)
 {
     using (var om = new OperationManager())
     {
         try
         {
             var session = om.BeginOperation();
             var num = session.Query<Partecipazione>()
                         .Count(p => p.Utente.Agenzia.Id == agenzia.Id);
             om.CommitOperation();
             return num;
         }
         catch (Exception ex)
         {
             om.RollbackOperation();
             string msg = String.Format("Impossibile calcolare il numero di viaggi a cui ha partecipato l'agenzia {0}", agenzia);
             logger.ErrorException(msg, ex);
             throw new Exception(msg, ex);
         }
     }
 }
コード例 #15
0
ファイル: ViaggioManager.cs プロジェクト: themarcuz/BusBook
 internal string getPromoImageFolder(Agenzia agenzia)
 {
     return getAllegatoFolder(agenzia.Id, Configurator.Istance.promoImageFolder);
 }
コード例 #16
0
 public void Save(Agenzia agenzia)
 {
     using (var om = new OperationManager())
     {
         try
         {
             om.BeginOperation();
             base.update<Agenzia>(agenzia);
             om.CommitOperation();
             logger.Info("Dati dell'agenzia {0} salvati con successo", agenzia);
         }
         catch (Exception ex)
         {
             om.RollbackOperation();
             string msg = "Errore nel salvataggio dell'agenzia";
             logger.ErrorException(msg, ex);
             throw new Exception(msg, ex);
         }
     }
 }
コード例 #17
0
ファイル: LoginController.cs プロジェクト: themarcuz/BusBook
 public ActionResult Registration(RegistrationView registration)
 {
     if (ModelState.IsValid)
     {
         if (!ReCaptcha.Validate(privateKey: ConfigurationManager.Configurator.Istance.recaptchaPublicKey))
         {
         }
         if (registration.Utente.Password.Equals(registration.UtenteRepeatPassword))
         {
             Agenzia agenzia = new Agenzia();
             agenzia.Nome = registration.Agenzia.Nome;
             agenzia.RagioneSociale = registration.Agenzia.RagioneSociale;
             agenzia.PIva = registration.Agenzia.PIva;
             agenzia.Email = registration.Agenzia.Email;
             ar.Save(agenzia);
             Utente utente = new Utente();
             utente.Nome = registration.Utente.Nome;
             utente.Cognome = registration.Utente.Cognome;
             utente.Username = registration.Utente.Username;
             utente.Email = registration.Utente.Email;
             utente.Agenzia = agenzia;
             var cryptedPassword = crypto.cryptPassword(registration.Utente.Password);
             utente.Password = cryptedPassword;
             ur.Save(utente);
             var message = ConfigurationManager.Configurator.Istance.mailBodyRegister;
             mh.SendMail(utente.Email, message);
             ViewBag.RedirectUrl = Url.Action("Index", "Home");
             return View("Redirect");
         }
     }
     return View(registration);
 }
コード例 #18
0
 /// <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 || v.DataPubblicazione.HasValue);
             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);
         }
     }
 }