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)); } }
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)); }
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)); }
////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)); }
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 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); }
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); }
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); }
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()); }
public bool InsertRehearsal(Rehearsal rehearsal) { //TODO }
// get a list of attendance for a whole rehearsal public List <AttendanceActual> GetAttendanceActualByRehearsal(Rehearsal rehearsal) { //TODO }
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; }