示例#1
0
        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"));
        }
示例#2
0
文件: LabsDao.cs 项目: sbalac17/LIMS
        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);
        }
示例#3
0
 public async Task <IHttpActionResult> Create(LabsCreateViewModel model)
 {
     return(JsonWithPermissions(await LabsDao.Create(this, model), true, true, User.IsAdmin()));
 }