예제 #1
0
        public async Task <IActionResult> CreateSubject(CreateSubjectDto createSubjectDto)
        {
            try
            {
                var nSubject = await _subjectAppService.InsertSubject(createSubjectDto);

                if (nSubject > 0)
                {
                    return(Ok(nSubject));
                }
                return(BadRequest("Subject Creation Failed"));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        public async Task <IActionResult> CreateClassSubject(long classId, CreateSubjectDto createSubjectDto)
        {
            try
            {
                var nSubject = await _mappingService.MappSubjectClass(classId : classId, createSubjectDto : createSubjectDto);

                if (nSubject > 0)
                {
                    return(Ok(nSubject));
                }
                return(BadRequest($"Subject Creation For Class with Id {classId} Failed"));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
        private async Task <CreateClassSubjectItemDto> CreateClassSubjectAsync(CreateSubjectDto subjectDto, CreateCourseClassItemDto courseClassItemDto)
        {
            var getSubjectItemDto = await SendAsync(new GetSubjectItemQuery()
            {
                Id = subjectDto.Id
            });

            var createClassSubjectCommand = new CreateClassSubjectItemCommand()
            {
                Title               = $"{courseClassItemDto.Id}-subject1",
                CourseClassId       = courseClassItemDto.Id,
                SubjectAssignmentId = getSubjectItemDto.SubjectAssignmentList.First(),
            };

            var createClassSubjectDto = await SendWithValidationAsync(createClassSubjectCommand, new CreateClassSubjectItemCommandValidator());

            return(createClassSubjectDto);
        }
예제 #4
0
        public async Task <long> InsertSubject(CreateSubjectDto model)
        {
            Subject subject;

            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            subject = new Subject
            {
                SubjectCode = model.SubjectCode,
                SubjectName = model.SubjectName,
                CreatedOn   = DateTime.UtcNow,
                CreatedBy   = model.CreatedBy
            };
            await _schoolHubDbContext.Subject.AddAsync(subject);

            await _schoolHubDbContext.SaveChangesAsync();

            return(subject.Id);
        }
예제 #5
0
        public async Task <long> MappSubjectClass(long classId, CreateSubjectDto createSubjectDto)
        {
            ClassSubjectMap classSubjectMap;
            var             retrieveClass = await _schoolHubDbContext.ClassName.FirstOrDefaultAsync(c => c.Id == classId);

            if (retrieveClass != null)
            {
                var createSubject = await _subjectAppService.InsertSubject(createSubjectDto);

                classSubjectMap = new ClassSubjectMap
                {
                    ClassId   = classId,
                    SubjectId = createSubject,
                    MappedOn  = DateTime.UtcNow
                };

                await _schoolHubDbContext.ClassSubjectMap.AddAsync(classSubjectMap);

                await _schoolHubDbContext.SaveChangesAsync();

                return(classSubjectMap.Id);
            }
            return(0);
        }