Пример #1
0
        public ActionResult CreateClass(ClassCreateDto createClassDto)
        {
            using (var transacao = new CommittableTransaction())
            {
                var userDto = new UserDto {
                    Name      = createClassDto.Name,
                    AvatarUrl = createClassDto.AvatarUrl,
                    WhatsApp  = createClassDto.WhatsApp,
                    Bio       = createClassDto.Bio
                };

                var user = _userRepository.CreateUser(_mapper.Map <User>(userDto));
                _userRepository.SaveChanges();

                var classDto = new ClassDto {
                    Subject = createClassDto.Subject,
                    Cost    = createClassDto.Cost,
                    UserId  = user.Id
                };

                var classs = _classRepository.CreateClass(_mapper.Map <Class>(classDto));
                _classRepository.SaveChanges();

                foreach (var item in createClassDto.Schedule)
                {
                    var scheduleDto = new ScheduleDto {
                        WeekDay = item.WeekDay,
                        From    = new StringToMinutesConversor().Convert(item.From),
                        To      = new StringToMinutesConversor().Convert(item.To),
                        ClassId = classs.Id
                    };

                    _scheduleRepository.CreateSchedule(_mapper.Map <Schedule>(scheduleDto));
                    _scheduleRepository.SaveChanges();
                }

                transacao.Commit();
            }

            return(Created("", createClassDto));
        }
Пример #2
0
        public ClassGetDto CreateClass(ClassCreateDto classCreateDto)
        {
            var classMe = new Class
            {
                ClassName        = classCreateDto.ClassName,
                ClassDescription = classCreateDto.ClassDescription,
                CreditHours      = classCreateDto.CreditHours,
                Prerequisite     = classCreateDto.Prerequisite
            };

            _context.Set <Class>().Add(classMe);
            _context.SaveChanges();

            var classGetDto = new ClassGetDto
            {
                Id               = classMe.Id,
                ClassName        = classMe.ClassName,
                ClassDescription = classMe.ClassDescription,
                CreditHours      = classMe.CreditHours,
                Prerequisite     = classMe.Prerequisite
            };

            return(classGetDto);
        }
Пример #3
0
        public IActionResult Post([FromBody] ClassCreateDto classCreateDto)
        {
            var classMe = _classRepository.CreateClass(classCreateDto);

            return(Created("[controller]", classMe));
        }