public async Task <ActionResult> Create(LabsCreateViewModel model) { if (!ModelState.IsValid) { return(View(model)); } try { await LabsDao.Create(this, model); } catch (Exception e) { ModelState.AddModelError("", e.ToString()); return(View(model)); } return(RedirectToAction("Index")); }
public static async Task <Lab> Create(IRequestContext context, LabsCreateViewModel model) { var test = await context.DbContext.Tests.FirstOrDefaultAsync(t => t.TestId == model.TestId); if (test == null) { throw new Exception("Test does not exist."); } var user = await context.UserManager.FindByIdAsync(context.UserId); var lab = new Lab { CollegeName = model.CollegeName, CourseCode = model.CourseCode, WeekNumber = model.WeekNumber, Test = test, Location = model.Location, }; lab.Members = new List <LabMember> { new LabMember { Lab = lab, User = user, IsLabManager = true, } }; context.DbContext.Labs.Add(lab); await context.DbContext.SaveChangesAsync(); await context.LogAsync($"Created lab ID {lab.LabId}"); return(lab); }
public async Task <IHttpActionResult> Create(LabsCreateViewModel model) { return(JsonWithPermissions(await LabsDao.Create(this, model), true, true, User.IsAdmin())); }