Пример #1
0
        public ActionResult ConfirmSingleRehearsal(string strLocation, string strNotes, DateTime dtmStart, DateTime dtmEnd)
        {
            Rehearsal newRehearsal = new Rehearsal
            {
                DtmStartDateTime = dtmStart,
                DtmEndDateTime   = dtmEnd,
                StrLocation      = strLocation,
                StrNotes         = strNotes
            };

            newRehearsal.LstRehearsalParts = tmpRehearsalPartsSchedule.LstScheduledRehearsalParts.Where(x => x.DtmStartDateTime.GetValueOrDefault().Date.Equals(newRehearsal.DtmStartDateTime.Date)).ToList();

            InsertDAL insert = new InsertDAL();

            insert.OpenConnection();

            if (insert.InsertRehearsal(newRehearsal))
            {
                return(Json(new { success = true, responseTest = "confirmed!" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { success = false, responseTest = "error" }, JsonRequestBehavior.AllowGet));
            }
        }
Пример #2
0
        public bool InsertRehearsal(Rehearsal rehearsal)
        {
            // insert into rehearsal table// define a query
            string query = "INSERT INTO public.\"rehearsals\"(" +
                           " \"dtmStartDateTime\", \"dtmEndDateTime\", \"strLocation\", \"strNotes\", \"intEventID\")" +
                           " VALUES(@dtmStartDateTime, @dtmEndDateTime, @strLocation, @strNotes, @intEventID)" +
                           " RETURNING \"intRehearsalID\";";
            NpgsqlCommand cmd = new NpgsqlCommand(query, conn);

            cmd.Parameters.AddWithValue("dtmStartDateTime", LocalDateTime.FromDateTime(rehearsal.DtmStartDateTime));
            cmd.Parameters.AddWithValue("dtmEndDateTime", LocalDateTime.FromDateTime(rehearsal.DtmEndDateTime));
            cmd.Parameters.AddWithValue("strLocation", rehearsal.StrLocation);
            cmd.Parameters.AddWithValue("strNotes", rehearsal.StrNotes);
            cmd.Parameters.AddWithValue("intEventID", rehearsal.LstRehearsalParts.FirstOrDefault().Event.IntEventID);

            int intNewRehearsalID = (int)cmd.ExecuteScalar();

            bool status = false;

            // update each rehearsal part with the new rehearsal id
            foreach (RehearsalPart rp in rehearsal.LstRehearsalParts)
            {
                status = UpdateRehearsalPartWithRehearsal(rp, intNewRehearsalID);
            }

            return(status);
        }
        public IHttpActionResult PutRehearsal(int id, Rehearsal rehearsal)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != rehearsal.Id)
            {
                return(BadRequest());
            }

            db.Entry(rehearsal).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RehearsalExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #4
0
        private RehearsalPart GetRehearsalPartFromDR(NpgsqlDataReader dr)
        {
            int       intRehearsalPartID = Convert.ToInt32(dr["intRehearsalPartID"]);
            DateTime  dtmStartDateTime   = Convert.ToDateTime(dr["dtmStartDateTime"]);
            DateTime  dtmEndDateTime     = Convert.ToDateTime(dr["dtmEndDateTime"]);
            Rehearsal rehearsal          = GetRehearsalByID(Convert.ToInt32(dr["intRehearsalID"]));
            Types     type = GetTypesByID(Convert.ToInt32(dr["intTypeID"]));

            return(new RehearsalPart(intRehearsalPartID, dtmStartDateTime, dtmEndDateTime, rehearsal, type));
        }
        public IHttpActionResult GetRehearsal(int id)
        {
            Rehearsal rehearsal = db.Rehearsals.Find(id);

            if (rehearsal == null)
            {
                return(NotFound());
            }

            return(Ok(rehearsal));
        }
        public IHttpActionResult PostRehearsal(Rehearsal rehearsal)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Rehearsals.Add(rehearsal);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = rehearsal.Id }, rehearsal));
        }
        public IHttpActionResult DeleteRehearsal(int id)
        {
            Rehearsal rehearsal = db.Rehearsals.Find(id);

            if (rehearsal == null)
            {
                return(NotFound());
            }

            db.Rehearsals.Remove(rehearsal);
            db.SaveChanges();

            return(Ok(rehearsal));
        }
Пример #8
0
        ////add text to GenerateReport.cshtml
        public ActionResult MakeReport(ReportsHomeVM vm)
        {
            ReportsHomeVM model = new ReportsHomeVM();

            if (vm.ChosenRehearsal == null)
            {
                vm.ChosenRehearsal = new Rehearsal(Globals.rID);
            }

            GetDAL get = new GetDAL();

            get.OpenConnection();

            Rehearsal r = get.GetRehearsalByID(vm.ChosenRehearsal.IntRehearsalID);

            Globals.rID = r.IntRehearsalID;
            //Rehearsal r = vm.ChosenRehearsal;
            List <RehearsalPart> rehearsalPartsForToday = get.GetRehearsalPartsByRehearsal(r);

            model.EventName     = r.Event.StrName;;
            model.GroupName     = r.Event.Group.StrName;
            model.Location      = r.StrLocation;
            model.StartTime     = r.DtmStartDateTime.ToString();
            model.EndTime       = r.DtmEndDateTime.ToString();
            model.RehearsalDate = r.DtmStartDateTime.Date.ToString();

            foreach (RehearsalPart rp in rehearsalPartsForToday)
            {
                rp.AttendancePlanned = get.GetAttendancePlannedByRehearsalPart(rp);
                rp.AttendanceActual  = new List <AttendanceActual>();
                foreach (AttendancePlanned ap in rp.AttendancePlanned)
                {
                    rp.AttendanceActual = rp.AttendanceActual.Concat(get.GetAttendanceActualByPlanned(ap)).ToList();
                }
            }

            model.Notes = r.StrNotes;
            model.LstAllRehearsalParts = rehearsalPartsForToday;

            get.CloseConnection();

            Globals.PDF = model;

            return(View("GenerateReport", model));
        }
Пример #9
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));
        }
Пример #10
0
        public Rehearsal GetRehearsalByID(int intRehearsalID)
        {
            Rehearsal retval = null;

            // define a query
            string        query = "SELECT * FROM \"rehearsals\" WHERE \"intRehearsalID\" = " + intRehearsalID;
            NpgsqlCommand cmd   = new NpgsqlCommand(query, conn);

            // execute query
            NpgsqlDataReader dr = cmd.ExecuteReader();

            // read all rows and output the first column in each row
            while (dr.Read())
            {
                retval = GetRehearsalFromDR(dr);
            }

            return(retval);
        }
Пример #11
0
        public List <Rehearsal> GetRehearsalsByEvent(Event paramEvent)
        {
            List <Rehearsal> retval = new List <Rehearsal>();

            // define a query
            string        query = "SELECT * FROM \"rehearsals\" WHERE \"intEventID\" = " + paramEvent.IntEventID;
            NpgsqlCommand cmd   = new NpgsqlCommand(query, conn);

            // execute query
            NpgsqlDataReader dr = cmd.ExecuteReader();

            // read all rows and output the first column in each row
            while (dr.Read())
            {
                Rehearsal tmpRehearsal = GetRehearsalFromDR(dr);
                retval.Add(tmpRehearsal);
            }

            return(retval);
        }
Пример #12
0
        public List <RehearsalPart> GetRehearsalPartsByRehearsal(Rehearsal rehearsal)
        {
            List <RehearsalPart> retval = new List <RehearsalPart>();

            // define a query
            string        query = "SELECT * FROM \"rehearsalParts\" WHERE \"intRehearsalID\" = " + rehearsal.IntRehearsalID;
            NpgsqlCommand cmd   = new NpgsqlCommand(query, conn);

            // execute query
            NpgsqlDataReader dr = cmd.ExecuteReader();

            // read all rows and output the first column in each row
            while (dr.Read())
            {
                RehearsalPart tmpRehearsalPart = GetRehearsalPartFromDR(dr);
                retval.Add(tmpRehearsalPart);
            }

            return(retval);
        }
Пример #13
0
        public IActionResult UpdateAttendanceForTerm(string termName, Guid memberId, DateTime rehearsalDate, bool isPresent)
        {
            Term term = context.Terms.First(t => t.name == termName);
            // TODO: Consider defining a universal date-time format
            Rehearsal rehearsal      = term.rehearsals.First(r => r.date == rehearsalDate);
            bool      containsMember = rehearsal.members.Contains(memberId);

            // Update attendance
            if (containsMember && !isPresent)
            {
                rehearsal.members.Remove(memberId);
            }
            else if (!containsMember && isPresent)
            {
                rehearsal.members.Add(memberId);
            }

            context.SaveChanges();
            return(new OkResult());
        }
Пример #14
0
 public bool InsertRehearsal(Rehearsal rehearsal)
 {
     //TODO
 }
Пример #15
0
 // get a list of attendance for a whole rehearsal
 public List <AttendanceActual> GetAttendanceActualByRehearsal(Rehearsal rehearsal)
 {
     //TODO
 }
Пример #16
0
 public RehearsalListViewModel(Rehearsal r)
 {
     Id          = r.Id;
     Date        = r.Date;
     Description = r.Description;
 }
 public RehearsalDetailEditViewModel(Rehearsal r)
 {
     Id          = r.Id;
     Date        = r.Date;
     Description = r.Description;
 }