public ActionResult DeleteConfirmed(int id) { TrackAgenda trackAgenda = db.TrackAgendas.Find(id); db.TrackAgendas.Remove(trackAgenda); db.SaveChanges(); return(RedirectToAction("/DisplaySession/11")); }
public ActionResult Edit([Bind(Include = "TrackAgendaID,EventTrackID,SpeakerID,SessionID,StartTime,EndTime,FavCount,QRCode")] TrackAgenda trackAgenda) { if (ModelState.IsValid) { db.Entry(trackAgenda).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.EventTrackID = new SelectList(db.EventTracks, "EventTrackID", "TrackVenue", trackAgenda.EventTrackID); ViewBag.SessionID = new SelectList(db.Sessions, "SessionID", "Title", trackAgenda.SessionID); ViewBag.SpeakerID = new SelectList(db.Speakers, "SpeakerID", "SpeakerName", trackAgenda.SpeakerID); return(View(trackAgenda)); }
// GET: TrackAgendas/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TrackAgenda trackAgenda = db.TrackAgendas.Find(id); if (trackAgenda == null) { return(HttpNotFound()); } return(View(trackAgenda)); }
// GET: TrackAgendas/Create //public ActionResult Create() //{ // ViewBag.EventTrackID = new SelectList(db.EventTracks, "EventTrackID", "Event_TrackCombination"); // ViewBag.SessionID = new SelectList(db.Sessions, "SessionID", "Title"); // ViewBag.SpeakerID = new SelectList(db.Speakers, "SpeakerID", "SpeakerName"); // return View(); //} // POST: TrackAgendas/Create // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsoft.com/fwlink/?LinkId=317598. //[HttpPost] //[ValidateAntiForgeryToken] //public ActionResult Create([Bind(Include = "TrackAgendaID,EventTrackID,SpeakerID,SessionID,Event_Track_Session_Speakers,StartTime,EndTime,FavCount,QRCode")] TrackAgenda trackAgenda) //{ // if (ModelState.IsValid) // { // db.TrackAgendas.Add(trackAgenda); // db.SaveChanges(); // return RedirectToAction("Index"); // } // ViewBag.EventTrackID = new SelectList(db.EventTracks, "EventTrackID", "Event_TrackCombination", trackAgenda.EventTrackID); // ViewBag.SessionID = new SelectList(db.Sessions, "SessionID", "Title", trackAgenda.SessionID); // ViewBag.SpeakerID = new SelectList(db.Speakers, "SpeakerID", "SpeakerName", trackAgenda.SpeakerID); // return View(trackAgenda); //} //////////////////////////////// //////////THIS HAS TO BE MADE LIKE CREATE ABOVE///////////////////////////////////////////////////// //////////////////////////////// // GET: TrackAgendas/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TrackAgenda trackAgenda = db.TrackAgendas.Find(id); if (trackAgenda == null) { return(HttpNotFound()); } ViewBag.EventTrackID = new SelectList(db.EventTracks, "EventTrackID", "TrackVenue", trackAgenda.EventTrackID); ViewBag.SessionID = new SelectList(db.Sessions, "SessionID", "Title", trackAgenda.SessionID); ViewBag.SpeakerID = new SelectList(db.Speakers, "SpeakerID", "SpeakerName", trackAgenda.SpeakerID); return(View(trackAgenda)); }
public ActionResult Create(int id, [Bind(Include = "TrackAgendaID,EventTrackID,SpeakerID,SessionID,Event_Track_Session_Speakers,StartTime,EndTime,FavCount,QRCode")] TrackAgenda trackAgenda) { trackAgenda.EventTrackID = id; if (ModelState.IsValid) { db.TrackAgendas.Add(trackAgenda); db.SaveChanges(); return(RedirectToAction("DisplaySession", new { id = trackAgenda.EventTrackID })); } ViewBag.EventTrackID = new SelectList(db.EventTracks, "EventTrackID", "Event_TrackCombination", trackAgenda.EventTrackID); var tid = db.EventTracks.Where(e => e.EventTrackID == id).Select(e => e.TrackID).FirstOrDefault(); ViewBag.SessionID = new SelectList(db.Sessions.Where(e => e.TrackID == tid), "SessionID", "Title"); ViewBag.SpeakerID = new SelectList(db.Speakers, "SpeakerID", "SpeakerName", trackAgenda.SpeakerID); return(View(trackAgenda)); }
//[ValidateAntiForgeryToken] public String CreateEvent(EventInfoModel eventInfo) { if (eventInfo.Event.EventTypeObj != null) { eventInfo.Event.EventType = (EventType)eventInfo.Event.EventTypeObj.Key; // map key to enum type. } if (eventInfo.Event.EventStatusObj != null) { eventInfo.Event.EventStatus = (EventStatus)eventInfo.Event.EventStatusObj.Key; // map key to enum type. } if (eventInfo.Event.EventVisibilityObj != null) { eventInfo.Event.EventVisibility = (EventVisibility)eventInfo.Event.EventVisibilityObj.Key; // map key to from enum type. } if (eventInfo.Event.EventScEligibilityObj != null) { eventInfo.Event.ScEligibility = (scEligibility)eventInfo.Event.EventScEligibilityObj.Key; // map key to enum type. } if (ModelState.IsValid) { if (eventInfo.Event.EventID == 0) //if new event. { db.Events.Add(eventInfo.Event); //add new event. if (eventInfo.EventTracks == null && (eventInfo.EventTechnologTags == null || eventInfo.EventAudienceTypeTags == null)) //event technolog tags does not exist and event tracks are also empty. { return(JsonConvert.SerializeObject(new { responseCode = 003 })); } db.SaveChanges(); if (eventInfo.EventTracks != null) //event tracks if exists. { foreach (var eventTrack in eventInfo.EventTracks) { eventTrack.EventID = eventInfo.Event.EventID; db.EventTracks.Add(eventTrack); } if (eventInfo.EventTechnologTags != null) //event log tags in event if exist. { var @event = db.Events.Where(x => x.EventID == eventInfo.Event.EventID).FirstOrDefault(); foreach (var eventLog in eventInfo.EventTechnologTags) { @event.EventTechnologTags.Remove(eventLog); } } if (eventInfo.EventAudienceTypeTags != null) { var @event = db.Events.Where(x => x.EventID == eventInfo.Event.EventID).FirstOrDefault(); foreach (var eventLog in eventInfo.EventAudienceTypeTags) { @event.EventAudienceTypeTags.Remove(eventLog); } } } else { var @event = db.Events.Where(x => x.EventID == eventInfo.Event.EventID).FirstOrDefault(); @event.EventTechnologTags = new List <PrimaryTechnology>(); foreach (var eventLog in eventInfo.EventTechnologTags) //event techno log tags exist. { var existingEventLog = db.PrimaryTechnologies.Where(x => x.PrimaryTechnologyID == eventLog.PrimaryTechnologyID).FirstOrDefault(); @event.EventTechnologTags.Add(existingEventLog); //add to event. } @event.EventAudienceTypeTags = new List <AudienceType>(); foreach (var eventLog in eventInfo.EventAudienceTypeTags) //event techno log tags exist. { var existingEventLog = db.AudienceTypes.Where(x => x.AudienceTypeID == eventLog.AudienceTypeID).FirstOrDefault(); @event.EventAudienceTypeTags.Add(existingEventLog); //add to event. } } } else { var existingEvent = db.Events .Where(p => p.EventID == eventInfo.Event.EventID) .Include("EventTracks.TrackAgendas") .SingleOrDefault(); if (existingEvent != null) //event already exist. { db.Entry(existingEvent).CurrentValues.SetValues(eventInfo.Event); //update existing event values. // Delete children foreach (var existingChild in existingEvent.EventTracks.ToList()) { if (eventInfo.EventTracks == null || !eventInfo.EventTracks.Any(c => c.EventTrackID == existingChild.EventTrackID)) { existingChild.TrackAgendas.ToList().ForEach(p => db.TrackAgendas.Remove(p)); db.EventTracks.Remove(existingChild); } } if (eventInfo.EventTracks != null) { // Update and Insert children foreach (var childModel in eventInfo.EventTracks) { var existingChild = existingEvent.EventTracks .Where(c => c.EventTrackID == childModel.EventTrackID) .SingleOrDefault(); if (existingChild != null) { // Update child db.Entry(existingChild).CurrentValues.SetValues(childModel); // Delete children foreach (var existingGrandChild in existingChild.TrackAgendas.ToList()) { if (!existingChild.TrackAgendas.Any(c => c.TrackAgendaID == existingGrandChild.TrackAgendaID)) { db.TrackAgendas.Remove(existingGrandChild); } } // Update and Insert children foreach (var grandChildModel in existingChild.TrackAgendas) { var existingGrandChild = existingChild.TrackAgendas .Where(c => c.TrackAgendaID == grandChildModel.TrackAgendaID) .SingleOrDefault(); if (existingGrandChild != null) { // Update child db.Entry(existingGrandChild).CurrentValues.SetValues(grandChildModel); } else { // Insert child var newChild = new TrackAgenda() { EndTime = grandChildModel.EndTime, SpeakerID = grandChildModel.SpeakerID, EventTrackID = grandChildModel.EventTrackID, FavCount = grandChildModel.FavCount, QRCode = grandChildModel.QRCode, SessionID = grandChildModel.SessionID, StartTime = grandChildModel.StartTime }; existingChild.TrackAgendas.Add(newChild); } } } else { // Insert child var newChild = new EventTrack() { EventID = childModel.EventID, TrackEndTime = childModel.TrackEndTime, TrackID = childModel.TrackID, TrackOwner = childModel.TrackOwner, TrackSeating = childModel.TrackSeating, TrackVenue = childModel.TrackVenue, TrackStartTime = childModel.TrackStartTime, TrackAgendas = childModel.TrackAgendas }; existingEvent.EventTracks.Add(newChild); } } if (existingEvent.EventTechnologTags != null) { var existingTags = existingEvent.EventTechnologTags.ToList(); foreach (var eventLog in existingTags) { existingEvent.EventTechnologTags.Remove( existingEvent.EventTechnologTags.FirstOrDefault( x => x.PrimaryTechnologyID == eventLog.PrimaryTechnologyID)); } } if (existingEvent.EventAudienceTypeTags != null) { var existingTags = existingEvent.EventAudienceTypeTags.ToList(); foreach (var eventLog in existingTags) { existingEvent.EventAudienceTypeTags.Remove( existingEvent.EventAudienceTypeTags.FirstOrDefault( x => x.AudienceTypeID == eventLog.AudienceTypeID)); } } } else { if (eventInfo.EventTechnologTags == null) { return(JsonConvert.SerializeObject(new { responseCode = 003 })); } else { if (existingEvent.EventTechnologTags != null) { var existingTags = existingEvent.EventTechnologTags.ToList(); foreach (var eventLog in existingTags) { existingEvent.EventTechnologTags.Remove(eventLog); } } existingEvent.EventTechnologTags = new List <PrimaryTechnology>(); foreach (var eventLog in eventInfo.EventTechnologTags) { var existingEventLog = db.PrimaryTechnologies.Where(x => x.PrimaryTechnologyID == eventLog.PrimaryTechnologyID).FirstOrDefault(); existingEvent.EventTechnologTags.Add(existingEventLog); //add new techno log tags of event. } } if (eventInfo.EventAudienceTypeTags == null) { return(JsonConvert.SerializeObject(new { responseCode = 003 })); } else { if (existingEvent.EventAudienceTypeTags != null) { var existingTags = existingEvent.EventAudienceTypeTags.ToList(); foreach (var eventLog in existingTags) { existingEvent.EventAudienceTypeTags.Remove(eventLog); } } existingEvent.EventAudienceTypeTags = new List <AudienceType>(); foreach (var eventLog in eventInfo.EventAudienceTypeTags) { var existingEventLog = db.AudienceTypes.Where(x => x.AudienceTypeID == eventLog.AudienceTypeID).FirstOrDefault(); existingEvent.EventAudienceTypeTags.Add(existingEventLog); //add new techno log tags of event. } } } } } db.SaveChanges(); return(JsonConvert.SerializeObject(new { responseCode = 001 })); } return(JsonConvert.SerializeObject(new { responseCode = 002 })); }