public bool SaveTemplate() { var template = GetSession(); if (template.RosterTemplateId == Guid.Empty) { var model = new RosterTemplate { RosterName = template.TemplateName, }; db.RosterTemplate.Add(model); db.SaveChanges(); template.RosterTemplateId = model.RosterTemplateId; foreach (var timeSlot in template.TimeSlots) { timeSlot.RosterTemplateId = model.RosterTemplateId; db.TimeSlotTemplate.Add(timeSlot); } db.SaveChanges(); } else { var model = new RosterTemplate { RosterTemplateId = template.RosterTemplateId, RosterName = template.TemplateName, }; db.Entry(model).State = EntityState.Modified; db.SaveChanges(); foreach (var oldTimeSlot in db.TimeSlotTemplate.Where(x => x.RosterTemplateId == template.RosterTemplateId)) { db.Entry(oldTimeSlot).State = EntityState.Deleted; } foreach (var newTimeSlot in template.TimeSlots) { var timeSlotModel = new TimeSlotTemplate { RosterTemplateId = template.RosterTemplateId, GameName = newTimeSlot.GameName, Length = newTimeSlot.Length, Offset = newTimeSlot.Offset, NumberOfPlayers = newTimeSlot.NumberOfPlayers, IsSteamGame = newTimeSlot.IsSteamGame, }; db.TimeSlotTemplate.Add(timeSlotModel); } db.SaveChanges(); } template.Edited = false; SetSession(template); return(true); }
public ActionResult Delete(Guid id) { if (id != null) { RosterTemplate template = new RosterTemplate { RosterTemplateId = id }; db.Entry(template).State = EntityState.Deleted; db.SaveChanges(); } return(RedirectToAction("Index", "RosterTemplateManagement")); }
public ActionResult Edit(Guid?id) { RosterTemplate template = db.RosterTemplate.SingleOrDefault(m => m.RosterTemplateId == id); if (template != null) { RosterTemplateManagementViewModel model = new RosterTemplateManagementViewModel { RosterTemplateId = template.RosterTemplateId, TemplateName = template.RosterName, TimeSlots = template.TimeSlots.ToList(), }; SetSession(model); return(View("~/Modules/Content/RosterTemplateManagement/RosterTemplateManagementForm.cshtml", model)); } return(View("~/Modules/Content/RosterTemplateManagement/RosterTemplateManagementIndex.cshtml")); }