public bool storeSerie(DateTime primogiorno, int settimane, List <DayOfWeek> listaGiorni, DateTime orarioI, DateTime orarioF, string nome, string cognome, string email) { Cliente cliente = new Cliente(nome, cognome, email); int clienteID = _repository.storeCliente(cliente); var appuntamenti = _repository.getAllAppuntamenti(); DateTime gg = primogiorno; int numapp = listaGiorni.Count * settimane; int cont = 0; while (cont < numapp) { if (listaGiorni.Contains(gg.DayOfWeek)) { if (!appuntamenti.Any(i => !i.compatibile(new DateTime(gg.Year, gg.Month, gg.Day, orarioI.Hour, orarioI.Minute, 0), new DateTime(gg.Year, gg.Month, gg.Day, orarioF.Hour, orarioF.Minute, 0)))) { if (!DateSystem.IsPublicHoliday(gg, CountryCode.IT)) { cont++; Appuntamento app = new Appuntamento(new DateTime(gg.Year, gg.Month, gg.Day, orarioI.Hour, orarioI.Minute, 0), new DateTime(gg.Year, gg.Month, gg.Day, orarioF.Hour, orarioF.Minute, 0), clienteID); _repository.storeAppuntamento(app); } } } gg = gg.AddDays(1); } return(true); }
public int storeAppuntamento(Appuntamento app) { SqlConnection cnn = new SqlConnection(_connectionString); var query = cnn.Query <int>(@"insert into appuntamenti (dataInizio, dataFine, cliente_id) VALUES (@dataI, @dataF, @clienteID) select @@identity", new { dataI = app.dataI, dataF = app.dataF, clienteID = app.clienteID }); return(query.First()); }
public bool storeAppuntamento(DateTime dataI, DateTime dataF, string nome, string cognome, string email) { Cliente cliente = new Cliente(nome, cognome, email); int clienteID = _repository.storeCliente(cliente); var appuntamenti = _repository.getAllAppuntamenti(); DateTime gg = dataI; bool cont = true; while (cont) { if (!appuntamenti.Any(i => !i.compatibile(new DateTime(gg.Year, gg.Month, gg.Day, dataI.Hour, dataI.Minute, 0), new DateTime(gg.Year, gg.Month, gg.Day, dataF.Hour, dataF.Minute, 0)))) { if (!DateSystem.IsPublicHoliday(gg, CountryCode.IT)) { cont = false; Appuntamento app = new Appuntamento(new DateTime(gg.Year, gg.Month, gg.Day, dataI.Hour, dataI.Minute, 0), new DateTime(gg.Year, gg.Month, gg.Day, dataF.Hour, dataF.Minute, 0), clienteID); _repository.storeAppuntamento(app); } } gg.AddDays(1); } return(true); }