コード例 #1
0
        public async Task <IActionResult> Create(TeacherFormVM Vmodel)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = UploadedFile(Vmodel);

                Teacher teacher = new Teacher
                {
                    ProfilePicture = uniqueFileName,
                    FirstName      = Vmodel.FirstName,
                    LastName       = Vmodel.LastName,
                    Degree         = Vmodel.Degree,
                    AcademicRank   = Vmodel.AcademicRank,
                    OfficeNumber   = Vmodel.OfficeNumber,
                    HireDate       = Vmodel.HireDate,

                    FirstCourses  = Vmodel.FirstCourses,
                    SecondCourses = Vmodel.SecondCourses
                };

                _context.Add(teacher);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View());
        }
コード例 #2
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var teacher = await _context.Teacher.FindAsync(id);

            if (teacher == null)
            {
                return(NotFound());
            }
            TeacherFormVM Vmodel = new TeacherFormVM
            {
                Id            = teacher.Id,
                FirstName     = teacher.FirstName,
                LastName      = teacher.LastName,
                Degree        = teacher.Degree,
                AcademicRank  = teacher.AcademicRank,
                OfficeNumber  = teacher.OfficeNumber,
                HireDate      = teacher.HireDate,
                FirstCourses  = teacher.FirstCourses,
                SecondCourses = teacher.SecondCourses
            };

            ViewData["TeacherFullName"] = _context.Teacher.Where(t => t.Id == id).Select(t => t.FullName).FirstOrDefault();

            return(View(Vmodel));
        }
コード例 #3
0
        private string UploadedFile(TeacherFormVM Vmodel)
        {
            string uniqueFileName = null;

            if (Vmodel.ProfilePicture != null)
            {
                string uploadsFolder = Path.Combine(_webHostEnvironment.WebRootPath, "images");
                uniqueFileName = Guid.NewGuid().ToString() + "_" + Path.GetFileName(Vmodel.ProfilePicture.FileName);
                string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    Vmodel.ProfilePicture.CopyTo(fileStream);
                }
            }
            return(uniqueFileName);
        }
コード例 #4
0
        public async Task <IActionResult> Edit(int id, TeacherFormVM Vmodel)
        {
            if (id != Vmodel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    string uniqueFileName = UploadedFile(Vmodel);

                    Teacher teacher = new Teacher
                    {
                        ProfilePicture = uniqueFileName,
                        Id             = Vmodel.Id,
                        FirstName      = Vmodel.FirstName,
                        LastName       = Vmodel.LastName,
                        Degree         = Vmodel.Degree,
                        AcademicRank   = Vmodel.AcademicRank,
                        OfficeNumber   = Vmodel.OfficeNumber,
                        HireDate       = Vmodel.HireDate,
                        FirstCourses   = Vmodel.FirstCourses,
                        SecondCourses  = Vmodel.SecondCourses
                    };

                    _context.Update(teacher);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TeacherExists(Vmodel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(Vmodel));
        }