public string CreaNoleggio(string username, DateTime inizio, DateTime fine, string[] attr, int[] persone) { string result = null; try { Cliente c = null; foreach (Cliente c1 in gpc.ElencoClienti) { if (c1.Username.Equals(username)) { c = c1; break; } } Noleggio nolo = new Noleggio(gpc.NewId(), c, inizio, fine); for (int i = 0; i < attr.Length; i++) { bool aggiunto = false; foreach (Attrezzatura a in gpc.ElencoAttrezzatura) { if (a.Tipo.Equals(attr[i]) && a.IsLibero(inizio, fine)) { IDettaglioPagamento dettaglio = new DettaglioNoleggio(nolo.Id, persone[i], a, /*MOCK COSTO*/ 99.99, inizio, fine, username); /***PERSISTENZA IDETTAGLIO***/ nolo.AddDettaglio((DettaglioNoleggio)dettaglio); aggiunto = true; break; } } if (!aggiunto) { throw new Exception("ATTREZZATURA ADEGUATA NON TROVATA"); } } Pagamento pag = new Pagamento(nolo.Id, 0); foreach (IDettaglioPagamento idp in nolo.ElencoDettagli) { pag.AddDettaglio(idp); } /***PERSISTENZA PAGAMENTO***/ gpc.ElencoNoleggi.Add(nolo); result = "La tua prenotazione è stata completata!"; } catch (Exception e) { Console.WriteLine(e); result = "Si è verificato un errore, la tua prenotazione non è andata a buon fine.\n" + "Controlla di non aver richiesto attrezzatura non disponibile."; } return(result); }
private bool AggiungiANoleggio(int id, Attrezzatura a, int utilizzatori) { bool result = true; try { Noleggio nol = gpc.NoloById(id); IDettaglioPagamento dettaglio = new DettaglioNoleggio(id, utilizzatori, a, 999.99, nol.Inizio, nol.fine); } catch (Exception e) { result = false; } return(result); }
public static void InsertDettaglioNoleggio(DettaglioNoleggio dt) { try { ISession sess = OpenConnection(); using (sess.BeginTransaction()) { sess.Persist(dt); sess.Transaction.Commit(); } } catch (Exception e) { Console.WriteLine(e.Message); } }
public static void DeleteDettaglioNoleggio(int idAttrezzatura, int id) { ISession session = OpenConnection(); using (session.BeginTransaction()) { try { DettaglioNoleggio dettaglioNoleggio = (DettaglioNoleggio)session.CreateCriteria <DettaglioNoleggio>() .Add(Restrictions.Eq("IdAttrezzatura", idAttrezzatura)).Add(Restrictions.Eq("Id", id)).UniqueResult(); session.Delete(dettaglioNoleggio); session.Transaction.Commit(); } catch (Exception e) { Console.Write(e.Message); } } }