Ejemplo n.º 1
0
        public async Task<ActionResult> Create([Bind(Include = "Id,CourseName,Grade,StudentsCapacity,RecLog,ContractId,CourseCatalogId")] License license)
        {
            if (ModelState.IsValid)
            {
                var courseCatalog = await db.CourseCatalogs.FirstOrDefaultAsync(it => it.Id == license.CourseCatalogId);
                if (courseCatalog == null || courseCatalog.RecLog.DeletedDate.HasValue) return View("Error");

                var contract = await db.Contracts.FirstOrDefaultAsync(it => it.Id == license.ContractId);
                if (contract == null) return View("Error");

                license.Contract = contract;
                license.CourseCatalog = courseCatalog;

                var now = DateTime.Now;
                license.CourseName = courseCatalog.SideName;
                license.Grade = courseCatalog.Grade.ToString();
                var newTeacherKey = new TeacherKey
                {
                    Grade = courseCatalog.Grade.ToString(),
                    License = license,
                    Code = generateTeacherCode(license),
                    RecLog = new RecordLog { CreatedDate = now }
                };
                license.TeacherKeys.Add(newTeacherKey);
                license.RecLog.CreatedDate = now;
                db.Licenses.Add(license);
                db.TeacherKeys.Add(newTeacherKey);
                await db.SaveChangesAsync();
                return RedirectToAction("Details", "Contracts", new { @id = license.ContractId });
            }

            ViewBag.CourseCatalogId = new SelectList(db.CourseCatalogs, "Id", "SideName");
            return View(license);
        }
Ejemplo n.º 2
0
 public async Task<ActionResult> RegenerateTeacherCodeConfirmed(int id)
 {
     License license = await db.Licenses
         .Include("Contract")
         .Include("CourseCatalog")
         .FirstOrDefaultAsync();
     var now = DateTime.Now;
     foreach (var item in license.TeacherKeys) item.RecLog.DeletedDate = now;
     var newTeacherKey = new TeacherKey
     {
         Grade = license.Grade,
         License = license,
         Code = generateTeacherCode(license),
         RecLog = new RecordLog { CreatedDate = now }
     };
     license.TeacherKeys.Add(newTeacherKey);
     db.TeacherKeys.Add(newTeacherKey); 
     await db.SaveChangesAsync();
     return RedirectToAction("Details", "Contracts", new { @id = license.ContractId });
 }