Exemplo n.º 1
0
        public async Task <Response> Create(TeacherCreateModel TeacherCreateModel, ClaimsPrincipal User)
        {
            using (var context = _applicationDbContextFactory.Create())
            {
                var user = await _userManager.FindByNameAsync(User.Identity.Name);

                var Teacher = Mapper.Map <Teacher>(TeacherCreateModel);
                if (!context.Check <City>(Teacher.CityId))
                {
                    return new Response {
                               Status = 500, Message = "Такого города нет"
                    }
                }
                ;
                if (!context.Check <Course>(Teacher.CourseId))
                {
                    return new Response {
                               Status = 500, Message = "Такого курса нет"
                    }
                }
                ;
                var Result = context.Teachers.Add(Teacher);
                context.SaveChanges();
                context.TeacherHistories.Add(new TeacherHistory {
                    Action = "Создание", TeacherId = Result.Entity.Id, DateTime = DateTime.Now, UserId = user.Id
                });
                context.SaveChanges();
                return(new Response {
                    Status = 100, Message = "Запрос успешно прошел"
                });
            }
        }
        public async Task <IActionResult> Create(TeacherCreateModel model)
        {
            if (ModelState.IsValid)
            {
                Teacher teacher = new Teacher()
                {
                    Name         = model.Name,
                    Surname      = model.Surname,
                    BirthDate    = model.BirthDate,
                    Faculty      = await _dbContext.Faculties.FirstOrDefaultAsync(x => x.Id == model.FacultyId),
                    GenderId     = (byte)model.GenderId,
                    Email        = model.Email,
                    UserName     = model.Email,
                    CreatingDate = DateTime.Now,
                    ImageId      = 1,
                    PhoneNumber  = model.PhoneNumber
                };
                if (_userManager.FindByEmailAsync(model.Email).Result == null)
                {
                    try
                    {
                        var result = await _userManager.CreateAsync(teacher, model.Password);

                        if (result.Succeeded)
                        {
                            await _userManager.AddToRoleAsync(teacher, "Teacher");

                            var urlHelper = HttpContext.RequestServices.GetRequiredService <IUrlHelper>();
                            await this.SendConfirmaitionMail(teacher, _userManager, urlHelper);

                            return(RedirectToAction("List", "Teachers"));
                        }
                        else
                        {
                            ModelState.AddModelError("", "Something wrong");
                        }
                    }
                    catch (Exception ex)
                    {
                        //
                    }
                }
                else
                {
                    ModelState.AddModelError("", $"User with {model.Email} email already exists");
                }
            }
            return(RedirectToAction("List", "Teachers"));
        }
Exemplo n.º 3
0
        public async Task CreateNew_InsertOneTeacher_ReturnTeacherId()
        {
            //Arrange
            TeacherCreateModel model = new TeacherCreateModel()
            {
                FirstName = "Dragos",
                LastName  = "Gavrilut",
                Email     = "*****@*****.**",
                Password  = "******"
            };

            //Act
            var result = await teacherService.CreateNew(model);

            //Assert
            Assert.IsInstanceOfType(result, typeof(System.Guid));
        }
Exemplo n.º 4
0
        public async Task UpdateTeacher_GivenUpdatedTeacher_ReturnTeacherId()
        {
            //Arrange
            var teachersList = await teacherService.GetAll();

            var lastTeacher = teachersList[teachersList.Count - 1];

            var updatedTeacher = new TeacherCreateModel()
            {
                FirstName = lastTeacher.FirstName,
                LastName  = lastTeacher.LastName,
                Email     = "*****@*****.**",
                Password  = lastTeacher.Password
            };

            //Act
            var result = await teacherService.Update(lastTeacher.Id, updatedTeacher);

            //Assert
            Assert.IsInstanceOfType(result, typeof(System.Guid));
        }
        public async Task CreateNew_InsertOneSubject_ReturnSubjectId()
        {
            //Arrange
            TeacherService     teacherService = new TeacherService(context, context);
            TeacherCreateModel model          = new TeacherCreateModel()
            {
                FirstName = "Dragos",
                LastName  = "Gavrilut",
                Email     = "*****@*****.**",
                Password  = "******"
            };
            var teacherId = await teacherService.CreateNew(model);

            SubjectCreateModel subject = new SubjectCreateModel()
            {
                Name = "C++"
            };

            //Act
            var result = await subjectService.CreateNew(teacherId, subject);

            //Assert
            Assert.IsInstanceOfType(result, typeof(System.Guid));
        }
 public async Task <ActionResult <Response> > Create(TeacherCreateModel model)
 {
     return(await _TeacherService.Create(model, User));
 }