private async Task <List <IntervalDTO> > GetIntervalsTask(int id) { client.CloseConnection(); string commandGetIntervalsTask = "SELECT [Task_Interval].ID, [Task_Interval].StartTime, [Task_Interval].FinishTime, [Task_Interval].Rating FROM Task_Interval " + $"WHERE [Task_Interval].IDTask = {id}"; var intervals = new List <IntervalDTO>(); try { using (SqlCommand cmd = new SqlCommand(commandGetIntervalsTask, client.OpenConnection())) { SqlDataReader dataReader = await cmd.ExecuteReaderAsync(); while (dataReader.Read()) { var type = new IntervalDTO(dataReader.GetInt32(0), dataReader.GetDateTime(1), dataReader.GetDateTime(2), dataReader.GetDouble(3)); intervals.Add(type); } } client.CloseConnection(); return(intervals); } catch (Exception exception) { Debug.WriteLine("[DataBaseTask.GetIntervalsTask()] Error: " + exception.Message); client.CloseConnection(); return(null); } finally { client.CloseConnection(); } }
public static Interval ConvertFromDto(IntervalDTO interval) { return(new Interval( id: interval.Id, startTime: interval.StartTime, finishTime: interval.FinishTime, rating: interval.Rating)); }
private async Task <bool> Generate() { var tasks = await dataBaseTask.SelectAll(); var dateTimeFrom = DateTime.Now; for (int i = 0; i < tasks.Count; i++) { Debug.WriteLine($"Задача {i}: "); var dateTimeTo = dateTimeFrom.AddHours(3); var randomCountIntervals = random.Next(1, 10); for (int j = 0; j < randomCountIntervals; j++) { var interval = new IntervalDTO( startTime: GenRandomDateTime(dateTimeFrom, dateTimeTo), finishTime: GenRandomDateTime(dateTimeFrom.AddHours(3), dateTimeTo.AddHours(3)), rating: Math.Round(random.NextDouble() * 4 + 1, 2)); if (await databaseInterval.InsertInterval(tasks[i].Id, interval)) { Debug.WriteLine($"{interval} - Insert is Success"); } else { throw new Exception($"{interval} - Insert is Error"); } Debug.WriteLine($"{j}. " + interval); dateTimeFrom = dateTimeFrom.AddDays(2); dateTimeTo = dateTimeFrom.AddHours(3); } } return(true); }
public async Task <bool> AddInterval(int idTask, IntervalDTO interval) { return(await dataBaseInterval.InsertInterval(idTask, interval)); }