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}" }); } }
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}" }); } }