public async Task Update(int id, StudentManipulationDto student)
        {
            var studentEntity = await _repositoryManager.StudentRepository.GetStudentAsync(id, trackChanges : true);

            _mapper.Map(student, studentEntity);
            await _repositoryManager.SaveAsync();
        }
        public async Task <StudentReadDto> Create(int trackActionId, int userId, StudentManipulationDto student)
        {
            var studentsEntity = _mapper.Map <Student>(student);
            var stud           = _repositoryManager.StudentRepository.CreateStudent(trackActionId, userId, studentsEntity);
            await _repositoryManager.SaveAsync();

            var entity = _mapper.Map <StudentReadDto>(stud);

            return(entity);
        }
示例#3
0
        public async Task <IActionResult> UpdateStudentForTrack(int studentId, [FromBody] StudentManipulationDto student)
        {
            try
            {
                await _manager.StudentServices.Update(studentId, student);

                return(NoContent());
            }
            catch (BadHttpRequestException)
            {
                return(BadRequest());
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new { Status = "Error", Message = "Internal server error" }));
            }
        }
        public async Task <IActionResult> RegisterStudent(int trackActionId, StudentManipulationDto student)
        {
            var IsExisted = await _manager.UserServices.UserExist(student.Email);

            if (IsExisted != null)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new
                {
                    Status = "Error",
                    Message = "Email existed before try another one"
                }));
            }
            else
            {
                try
                {
                    var user = new AppUser
                    {
                        Name        = student.Name,
                        Email       = student.Email,
                        CreatedDate = student.CreatedDate,
                        RoleId      = 4,
                        Password    = _manager.StudentServices.GeneratePassword(student.Ssn, student.Name)
                    };

                    await _manager.UserServices.RegisterUser(user);

                    var stud = await _manager.StudentServices.Create(trackActionId, user.Id, student);

                    return(Created("Student created successfully", stud));
                }
                catch (BadHttpRequestException)
                {
                    return(BadRequest());
                }
                catch (Exception ex)
                {
                    return(StatusCode(StatusCodes.Status500InternalServerError, new
                    {
                        Status = "Error",
                        Message = ex.Message
                    }));
                }
            }
        }