public async Task <int> CreateAsync <TSource, TDestination>(TSource item)
            where TSource : class
            where TDestination : class
        {
            _token = await _jwtTokenService.CheckTokenAsync(_token);

            var channel = GrpcChannel.ForAddress("https://localhost:5001");
            var client  = new Courses.CoursesClient(channel);

            var headers = new Metadata();

            headers.Add("Authorization", $"Bearer {_token.Token}");

            var reply = await client.CreateCourseAsync(
                new CourseMessage { Title = "BestTitle" }, headers);

            /*  var channel = await CreateAuthenticatedChannel("https://localhost:5001");
             * var client = new CoursesService.CoursesServiceClient(channel);
             */
            /* var serviceFactory = _grpcServiceFactory.GetService<TSource>();
             * serviceFactory
             *
             * var reply = await client.CreateCourseAsync(
             *  new CourseMessage { Title = "BestTitle" });.*/

            return(reply.Id);
        }
 public CoursesAdminService(IJwtTokenService jwtTokenService,
                            Courses.CoursesClient coursesClient, IMapper mapper)
 {
     _jwtTokenService = jwtTokenService;
     _coursesClient   = coursesClient;
     _mapper          = mapper;
 }
Exemplo n.º 3
0
        static async Task Main(string[] args)
        {
            //AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);

            var channel = GrpcChannel.ForAddress("https://localhost:5001");

            //var client = new Greeter.GreeterClient(channel);

            //var reply = await client.SayHelloAsync(
            //    new HelloRequest { Name = "GreeterClient" });

            //var result = "Greeting: " + reply.Message;



            var client = new Courses.CoursesClient(channel);

            var reply = await client.CreateCourseAsync(
                new CourseMessage { Title = "BestTitle" });

            var result = reply.Title;

            Console.WriteLine(result);


            Console.WriteLine("Press any key to exit...");



            Console.ReadKey();
        }
Exemplo n.º 4
0
        public void CourseRPCTest()
        {
            var    client = new Courses.CoursesClient(_channel);
            Course course = new Course()
            {
                Id   = 0,
                Name = "name1",
            };
            CourseKey key = client.AddCourse(course);

            Assert.IsTrue(key.Id > 0);
            course.Id = key.Id;

            Course temp = client.GetCourse(key);

            Assert.AreEqual(temp.Id, course.Id);
            Assert.AreEqual(temp.Name, course.Name);

            CourseList list = client.GetCourses(new Empty());

            foreach (var item in list.CourseList_)
            {
                if (item.Id != course.Id)
                {
                    continue;
                }
                Assert.AreEqual(item.Name, course.Name);
            }

            course.Name = "Name2";
            client.UpdateCourse(course);
            temp = client.GetCourse(key);
            Assert.AreEqual(temp.Id, course.Id);
            Assert.AreEqual(temp.Name, course.Name);

            client.DeleteCourse(key);
            temp = client.GetCourse(key);
            Assert.IsTrue(temp.Id == 0);;
        }
Exemplo n.º 5
0
        public void EnrollmentRPCTest()
        {
            var    clientCourse     = new Courses.CoursesClient(_channel);
            var    clientStudent    = new Students.StudentsClient(_channel);
            var    clientEnrollment = new Enrollments.EnrollmentsClient(_channel);
            Course course           = new Course()
            {
                Id   = 0,
                Name = "name1",
            };
            CourseKey courseKey = clientCourse.AddCourse(course);

            Assert.IsTrue(courseKey.Id > 0);
            course.Id = courseKey.Id;

            Student student = new Student()
            {
                Id   = 0,
                Name = "name1",
                Age  = 33
            };
            StudentKey studentKey = clientStudent.AddStudent(student);

            Assert.IsTrue(studentKey.Id > 0);

            student.Name = "Name2";
            student.Age  = 44;
            studentKey   = clientStudent.AddStudent(student);

            Assert.IsTrue(studentKey.Id > 0);
            student.Id = studentKey.Id;

            clientEnrollment.AddEnrollments(new EnrollmentKey()
            {
                StudentId = student.Id, CourseId = course.Id
            });

            StudentList studentList = clientEnrollment.GetEnrolledStudents(new CourseKey()
            {
                Id = course.Id
            });
            int cnt = 0;

            foreach (var item in studentList.StudentList_)
            {
                Assert.AreEqual(item.Id, student.Id);
                Assert.AreEqual(item.Name, student.Name);
                Assert.AreEqual(item.Age, student.Age);
                cnt++;
            }
            Assert.IsTrue(cnt == 1);

            CourseList courseList = clientEnrollment.GetEnrolledCourses(new StudentKey()
            {
                Id = student.Id
            });

            cnt = 0;
            foreach (var item in courseList.CourseList_)
            {
                Assert.AreEqual(item.Id, course.Id);
                Assert.AreEqual(item.Name, course.Name);
                cnt++;
            }
            Assert.IsTrue(cnt == 1);

            clientEnrollment.RemoveEnrollments(new EnrollmentKey()
            {
                StudentId = student.Id, CourseId = course.Id
            });

            cnt         = 0;
            studentList = clientEnrollment.GetEnrolledStudents(new CourseKey()
            {
                Id = course.Id
            });
            foreach (var item in studentList.StudentList_)
            {
                cnt++;
            }
            Assert.IsTrue(cnt == 0);

            courseList = clientEnrollment.GetEnrolledCourses(new StudentKey()
            {
                Id = student.Id
            });
            foreach (var item in courseList.CourseList_)
            {
                cnt++;
            }
            Assert.IsTrue(cnt == 0);
        }