コード例 #1
0
        public void CrearMateria(CrearMateriaRequest MateriaRequest, string expected)
        {
            _Materiaservice = new CrearMateriaService(_unitOfWork);
            var response = _Materiaservice.Ejecutar(MateriaRequest);

            Assert.AreEqual(expected, response.Message);
        }
コード例 #2
0
        public async Task <IActionResult> CreateMaterias([FromBody] CrearMateriaRequest materias)
        {
            _service = new CrearMateriaService(_unitOfWork);
            var rta = _service.Ejecutar(materias);

            if (rta.isOk())
            {
                await _context.SaveChangesAsync();

                //preguntar por lo que esta denteo del new
                return(CreatedAtAction("GetMateria", new { id = materias.Id }, materias));
            }
            return(BadRequest(rta.Message));
        }
コード例 #3
0
        public CrearMateriaResponse Ejecutar(CrearMateriaRequest request)
        {
            var materia = _unitOfWork.MateriaServiceRepository.FindFirstOrDefault(t => t.Id == request.Id);

            if (materia == null)
            {
                Dominio.Entidades.Materias newMateria = new Dominio.Entidades.Materias(request.Id, request.Nombre, request.IdDocente, request.IdCurso);

                IReadOnlyList <string> errors = newMateria.CanCrear(newMateria);
                if (errors.Any())
                {
                    string listaErrors = "Errores:";
                    foreach (var item in errors)
                    {
                        listaErrors += item.ToString();
                    }
                    return(new CrearMateriaResponse()
                    {
                        Message = listaErrors
                    });
                }
                else
                {
                    _unitOfWork.MateriaServiceRepository.Add(newMateria);
                    _unitOfWork.Commit();
                    return(new CrearMateriaResponse()
                    {
                        Message = $"Materia creada exitosamente"
                    });
                }
            }
            else
            {
                return(new CrearMateriaResponse()
                {
                    Message = $"Materia ya existe"
                });
            }
        }