Exemple #1
0
        public async Task <IActionResult> CreateAdvertisingCourse(CreateAdvertisingCourseDto input)
        {
            try
            {
                var course = await _courseAppService.CreateAdvertisingCourse(input);

                return(Ok(course));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
Exemple #2
0
        public async Task <Course> CreateAdvertisingCourse(CreateAdvertisingCourseDto input)
        {
            var course = new Course
            {
                Title            = input.Title,
                Description      = input.Description,
                Quota            = input.Quota,
                Price            = input.Price,
                StartDate        = input.StartDate,
                EndDate          = input.EndDate,
                CategoryId       = input.CategoryId,
                LocationId       = input.LocationId,
                OwnerType        = input.OwnerType,
                OwnerId          = input.OwnerId,
                AdvertisingState = AdvertisingState.Continues
            };
            await _courseRepository.AddAsync(course);

            var count = (input.TenantId.Length > input.EducatorId.Length)
                ? input.TenantId.Length
                : input.EducatorId.Length;

            for (var i = 0; i < count; i++)
            {
                var givenCourse = new GivenCourse
                {
                    CourseId   = course.Id,
                    EducatorId = input.EducatorId[i],
                    TenantId   = input.TenantId[i]
                };
                await _givenCourseRepository.AddAsync(givenCourse);
            }

            var advertisingModel = new AdvertisingCourse
            {
                CourseId      = course.Id,
                TenantId      = input.AdvertisingInfo.OwnerTenantId,
                EducatorId    = input.AdvertisingInfo.OwnerEducatorId,
                Price         = input.AdvertisingInfo.Price,
                StartDateTime = input.AdvertisingInfo.StartDateTime,
                EndDateTime   = input.AdvertisingInfo.EndDateTime
            };
            await _advertisingCourseRepository.AddAsync(advertisingModel);

            return(course);
        }