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);
        }
Beispiel #3
0
        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");
        }
Beispiel #4
0
        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);
        }
Beispiel #9
0
        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);
        }