Exemplo n.º 1
0
        public async Task <ResponseModel <FacultyResource> > UpdateAsync(int id, Faculty faculty)
        {
            var existingFaculty = await facultyRepository.FindByIdAsync(id);

            if (existingFaculty == null)
            {
                return(new ResponseModel <FacultyResource>()
                {
                    Success = false,
                    Message = "Faculty not found!"
                });
            }

            var existingUniversity = await universityRepository.FindByIdAsync(faculty.UniversityId);

            if (existingUniversity == null)
            {
                return new ResponseModel <FacultyResource>()
                       {
                           Success = false,
                           Message = "Invalid university."
                       }
            }
            ;

            existingFaculty.Name       = faculty.Name;
            existingFaculty.University = existingUniversity;
            try
            {
                facultyRepository.Update(existingFaculty);

                await unitOfWork.CompleteAsync();

                var facultyResource = mapper.Map <Faculty, FacultyResource>(existingFaculty);
                return(new ResponseModel <FacultyResource>()
                {
                    Success = true,
                    Data = facultyResource,
                    Message = "Succesfully updated!"
                });
            }
            catch (Exception ex)
            {
                return(new ResponseModel <FacultyResource>()
                {
                    Success = false,
                    Message = $"An error occurred when updating the faculty: { ex.Message}"
                });
            }
        }
Exemplo n.º 2
0
        public async Task <ResponseModel <StudentResource> > SaveAsync(Student student)
        {
            try
            {
                var existingFaculty = await facultyRepository.FindByIdAsync(student.FacultyId);

                if (existingFaculty == null)
                {
                    return new ResponseModel <StudentResource>()
                           {
                               Success = false,
                               Message = "Invalid Faculty."
                           }
                }
                ;
                await studentRepository.AddAsync(student);

                await unitOfWork.CompleteAsync();

                var studentResource = mapper.Map <Student, StudentResource>(student);
                return(new ResponseModel <StudentResource>()
                {
                    Success = true,
                    Data = studentResource,
                    Message = "Successfully added!"
                });
            }
            catch (Exception ex)
            {
                return(new ResponseModel <StudentResource>()
                {
                    Success = false,
                    Message = $"An error occurred when saving the Student: { ex.Message}"
                });
            }
        }