public void UpdateFinalSchedule(FinalSchedule finalSchedule, ref List <string> errors) { var conn = new SqlConnection(ConnectionString); try { var adapter = new SqlDataAdapter(UpdateFinalsScheduleInfo, conn) { SelectCommand = { CommandType = CommandType.StoredProcedure } }; adapter.SelectCommand.Parameters.Add(new SqlParameter("@schedule_id", SqlDbType.Int)); adapter.SelectCommand.Parameters.Add(new SqlParameter("@final_location", SqlDbType.VarChar, 20)); adapter.SelectCommand.Parameters.Add(new SqlParameter("@f_time", SqlDbType.Time)); adapter.SelectCommand.Parameters.Add(new SqlParameter("@title", SqlDbType.VarChar, 50)); adapter.SelectCommand.Parameters["@schedule_id"].Value = finalSchedule.Schedule_id; adapter.SelectCommand.Parameters["@final_location"].Value = finalSchedule.FinalLocation; adapter.SelectCommand.Parameters["@f_time"].Value = finalSchedule.FinalTime; adapter.SelectCommand.Parameters["@title"].Value = finalSchedule.Title; var dataSet = new DataSet(); adapter.Fill(dataSet); } catch (Exception e) { errors.Add("Error: " + e); } finally { conn.Dispose(); } }
public void UpdateFinalSchedule(FinalSchedule finalSchedule, ref List <string> errors) { if (finalSchedule == null) { errors.Add("Final Schedule cannot be null"); throw new ArgumentException(); } if (finalSchedule.Schedule_id < 0) { errors.Add("Invalid Schedule ID"); } if (string.IsNullOrEmpty(finalSchedule.Title)) { errors.Add("Invalid Final Location"); throw new ArgumentException(); } if (string.IsNullOrEmpty(finalSchedule.FinalLocation)) { errors.Add("Invalid Final Location"); throw new ArgumentException(); } if (string.IsNullOrEmpty(finalSchedule.FinalTime)) { errors.Add("Invalid Final Time"); throw new ArgumentException(); } this.repository.UpdateFinalSchedule(finalSchedule, ref errors); }
public string InsertFinalSchedule(FinalSchedule finalSchedule) { var errors = new List <string>(); var repository = new FinalScheduleRepository(); var service = new FinalScheduleService(repository); service.InsertFinalSchedule(finalSchedule, ref errors); if (errors.Count == 0) { return("ok"); } return("error"); }
public ActionResult CreateNewSchedule(ScheduleHomeVM vm) { GetDAL get = new GetDAL(); get.OpenConnection(); Event e = get.GetEventByID(vm.SelectedEvent.IntEventID); List <RehearsalPart> rehearsalParts = get.GetRehearsalPartsByEvent(e); foreach (RehearsalPart rp in rehearsalParts) { rp.LstMembers = get.GetUsersByRehearsalPart(rp); } get.CloseConnection(); //List<RehearsalPart> rehearsalParts = vm.LstAllRehearsalParts.Where(x => x.Event.Equals(e)).ToList(); Schedule newSchedule = new Schedule(rehearsalParts, e); ScheduleViewVM model = new ScheduleViewVM(); model.Schedule = newSchedule.FinalSchedule; tmpRehearsalPartsSchedule = model.Schedule; foreach (LocalDate d in uniqueDatesOfRehearsals(model.Schedule.LstScheduledRehearsalParts)) { Rehearsal tmpRehearsal = new Rehearsal(); // get earliest rehearsal on any day DateTime fromDateOnly = new DateTime(d.Year, d.Month, d.Day); // get start of earliest rehearsal part on that day RehearsalPart earliest = model.Schedule.LstScheduledRehearsalParts.Where(x => x.DtmStartDateTime.GetValueOrDefault().Date.Equals(fromDateOnly)).OrderBy(x => x.DtmStartDateTime.GetValueOrDefault()).FirstOrDefault(); tmpRehearsal.DtmStartDateTime = earliest.DtmStartDateTime.GetValueOrDefault(); // get end of latest rehearsal part on that day RehearsalPart lastest = model.Schedule.LstScheduledRehearsalParts.Where(x => x.DtmEndDateTime.GetValueOrDefault().Date.Equals(fromDateOnly)).OrderByDescending(x => x.DtmEndDateTime.GetValueOrDefault()).FirstOrDefault(); tmpRehearsal.DtmEndDateTime = lastest.DtmEndDateTime.GetValueOrDefault(); tmpRehearsal.LstRehearsalParts = model.Schedule.LstScheduledRehearsalParts.Where(x => x.DtmStartDateTime.GetValueOrDefault().Date.Equals(fromDateOnly)).ToList(); model.LstTmpRehearsals.Add(tmpRehearsal); } return(View("ScheduleView", model)); }
public List <FinalSchedule> GetFinalSchedule(ref List <string> errors) { var conn = new SqlConnection(ConnectionString); var finalScheduleList = new List <FinalSchedule>(); try { var adapter = new SqlDataAdapter(GetFinalsScheduleInfo, conn) { SelectCommand = { CommandType = CommandType.StoredProcedure } }; var dataSet = new DataSet(); adapter.Fill(dataSet); if (dataSet.Tables[0].Rows.Count == 0) { return(null); } for (var i = 0; i < dataSet.Tables[0].Rows.Count; i++) { var finalScheduleContainer = new FinalSchedule { Schedule_id = Convert.ToInt32(dataSet.Tables[0].Rows[i]["schedule_id"].ToString()), FinalLocation = dataSet.Tables[0].Rows[i]["final_location"].ToString(), FinalTime = dataSet.Tables[0].Rows[i]["f_time"].ToString(), Title = dataSet.Tables[0].Rows[i]["title"].ToString() }; finalScheduleList.Add(finalScheduleContainer); } } catch (Exception e) { errors.Add("Error: " + e); } finally { conn.Dispose(); } return(finalScheduleList); }
public FinalSchedule GetCourseFinalSchedule(int scheduleId, ref List <string> errors) { var conn = new SqlConnection(ConnectionString); FinalSchedule finalSchedule = null; try { var adapter = new SqlDataAdapter(GetCourseFinalScheduleInfo, conn) { SelectCommand = { CommandType = CommandType.StoredProcedure } }; adapter.SelectCommand.Parameters.Add(new SqlParameter("@schedule_id", SqlDbType.Int)); adapter.SelectCommand.Parameters["@schedule_id"].Value = scheduleId; var dataSet = new DataSet(); adapter.Fill(dataSet); if (dataSet.Tables[0].Rows.Count == 0) { return(null); } finalSchedule = new FinalSchedule { Schedule_id = Convert.ToInt32(dataSet.Tables[0].Rows[0]["schedule_id"].ToString()), FinalLocation = dataSet.Tables[0].Rows[0]["final_location"].ToString(), FinalTime = dataSet.Tables[0].Rows[0]["f_time"].ToString(), Title = dataSet.Tables[0].Rows[0]["title"].ToString() }; } catch (Exception e) { errors.Add("Error: " + e); } finally { conn.Dispose(); } return(finalSchedule); }
public void InsertFinalScheduleTest2() { //// Arrange var errors = new List <string>(); var mockRepository = new Mock <IFinalScheduleRepository>(); var finalScheduleService = new FinalScheduleService(mockRepository.Object); var finalSchedule = new FinalSchedule { Schedule_id = -1, FinalLocation = string.Empty, FinalTime = string.Empty, Title = string.Empty }; //// Act finalScheduleService.InsertFinalSchedule(finalSchedule, ref errors); //// Assert Assert.AreEqual(1, errors.Count); }
public void InsertFinalSchedule(FinalSchedule finalSchedule, ref List <string> errors) { if (finalSchedule == null) { errors.Add("Final Schedule cannot be null"); throw new ArgumentException(); } if (finalSchedule.Schedule_id < 0) { errors.Add("Invalid Schedule ID"); } if (string.IsNullOrEmpty(finalSchedule.FinalLocation)) { errors.Add("Invalid Final Location"); throw new ArgumentException(); } if (string.IsNullOrEmpty(finalSchedule.Title)) { errors.Add("Invalid Final Location"); throw new ArgumentException(); } if (string.IsNullOrEmpty(finalSchedule.FinalTime)) { errors.Add("Invalid Final Time"); throw new ArgumentException(); } finalSchedule.FinalTime = finalSchedule.FinalTime.Replace("..(?!$)", "$0:"); finalSchedule.FinalTime = finalSchedule.FinalTime + "0000000"; this.repository.InsertFinalSchedule(finalSchedule, ref errors); }
public FinalSchedule CreateSchedule(DateTime startDate, DateTime eventDate, GetDAL get) { // starting at the rehearsal start date List <DateTime> rehearsalDates = Enumerable.Range(0, 1 + eventDate.Subtract(startDate).Days) .Select(offset => startDate.AddDays(offset)) .ToList(); List <RehearsalPart> scheduledRehearsalParts = new List <RehearsalPart>(); foreach (var day in rehearsalDates) { if (UnscheduledRehearsalParts.Any()) { switch (day.DayOfWeek) { case DayOfWeek.Monday: DateTime monday = new DateTime(day.Year, day.Month, day.Day, EventSchedule.TmeMondayStart.Hour, EventSchedule.TmeMondayStart.Minute, EventSchedule.TmeMondayStart.Second); scheduledRehearsalParts = scheduledRehearsalParts.Concat(ScheduleDay(monday, EventSchedule.PerWeekdayDuration.ToDuration(), get)).ToList(); break; case DayOfWeek.Tuesday: DateTime tuesday = new DateTime(day.Year, day.Month, day.Day, EventSchedule.TmeTuesdayStart.Hour, EventSchedule.TmeTuesdayStart.Minute, EventSchedule.TmeTuesdayStart.Second); scheduledRehearsalParts = scheduledRehearsalParts.Concat(ScheduleDay(tuesday, EventSchedule.PerWeekdayDuration.ToDuration(), get)).ToList(); break; case DayOfWeek.Wednesday: DateTime wednesday = new DateTime(day.Year, day.Month, day.Day, EventSchedule.TmeWednesdayStart.Hour, EventSchedule.TmeWednesdayStart.Minute, EventSchedule.TmeWednesdayStart.Second); scheduledRehearsalParts = scheduledRehearsalParts.Concat(ScheduleDay(wednesday, EventSchedule.PerWeekdayDuration.ToDuration(), get)).ToList(); break; case DayOfWeek.Thursday: DateTime thursday = new DateTime(day.Year, day.Month, day.Day, EventSchedule.TmeThursdayStart.Hour, EventSchedule.TmeThursdayStart.Minute, EventSchedule.TmeThursdayStart.Second); scheduledRehearsalParts = scheduledRehearsalParts.Concat(ScheduleDay(thursday, EventSchedule.PerWeekdayDuration.ToDuration(), get)).ToList(); break; case DayOfWeek.Friday: DateTime friday = new DateTime(day.Year, day.Month, day.Day, EventSchedule.TmeFridayStart.Hour, EventSchedule.TmeFridayStart.Minute, EventSchedule.TmeFridayStart.Second); scheduledRehearsalParts = scheduledRehearsalParts.Concat(ScheduleDay(friday, EventSchedule.PerWeekdayDuration.ToDuration(), get)).ToList(); break; case DayOfWeek.Saturday: DateTime saturday = new DateTime(day.Year, day.Month, day.Day, EventSchedule.TmeSaturdayStart.Hour, EventSchedule.TmeSaturdayStart.Minute, EventSchedule.TmeSaturdayStart.Second); scheduledRehearsalParts = scheduledRehearsalParts.Concat(ScheduleDay(saturday, EventSchedule.PerWeekendDuration.ToDuration(), get)).ToList(); break; case DayOfWeek.Sunday: DateTime sunday = new DateTime(day.Year, day.Month, day.Day, EventSchedule.TmeSundayStart.Hour, EventSchedule.TmeSundayStart.Minute, EventSchedule.TmeSundayStart.Second); scheduledRehearsalParts = scheduledRehearsalParts.Concat(ScheduleDay(sunday, EventSchedule.PerWeekendDuration.ToDuration(), get)).ToList(); break; } } } FinalSchedule = new FinalSchedule(scheduledRehearsalParts, UnscheduledRehearsalParts); get.CloseConnection(); return(FinalSchedule); }