Example #1
0
        public IActionResult PostCrearDocente(DocenteRequest request)
        {
            var service  = new CrearDocenteService(_unitOfWork, _departamentoRepository, _docenteRepository, _mailServer);
            var response = service.Handle(request);

            return(Ok(response));
        }
Example #2
0
        public DocenteResponse Handle(DocenteRequest request)
        {
            if (_docenteRepository.FindDocente(request.Identificacion) != null)
            {
                return(new DocenteResponse("Ya existe el docente con esa identificacion", "Error"));
            }
            var departamento = _departamentoRepository.Find(request.departamentoId);

            if (departamento == null)
            {
                return(new DocenteResponse("Se debe asignar un departamento al docente", "Error"));
            }
            var docente = new Docente();
            var errors  = docente.CanDeliver(request.Identificacion,
                                             request.Nombres,
                                             request.Apellidos,
                                             request.Email,
                                             request.Sexo,
                                             departamento);

            if (errors.Any())
            {
                var result = String.Join(", ", errors.ToArray());
                return(new DocenteResponse(result, "Error"));
            }
            docente.Deliver(request.Identificacion,
                            request.Nombres,
                            request.Apellidos,
                            request.Email,
                            request.Sexo,
                            departamento);
            string response = "";

            try
            {
                _docenteRepository.Add(docente);
                response = $"Se registró correctamente el docente {docente.Nombres}";
            }
            catch (Exception e)
            {
                response = "No se pudo registrar";
            }
            _unitOfWork.Commit();
            _emailServer.Send("Registro en AppAC", "Se registro en el sistema", docente.Email);
            return(new DocenteResponse(response, "Ok"));
        }
Example #3
0
        public void NoPuedeGuardarDocenteSiElDptoNoExisteTest()
        {
            var docente = DocenteMother.CreateDocente("342324214");

            _departamentoRepository.Add(docente.Departamento);
            _dbContext.SaveChanges();
            var request = new DocenteRequest(
                docente.Identificacion,
                docente.Nombres,
                docente.Apellidos,
                docente.Email,
                docente.Sexo,
                3
                );
            var response = _crearDocenteService.Handle(request).Mensaje;

            Assert.AreEqual("Se debe asignar un departamento al docente", response);
        }
Example #4
0
        public void PuedeGuardarDocenteTest()
        {
            var docente = DocenteMother.CreateDocente("12141411");

            _departamentoRepository.Add(docente.Departamento);
            _dbContext.SaveChanges();
            var request = new DocenteRequest(
                docente.Identificacion,
                docente.Nombres,
                docente.Apellidos,
                docente.Email,
                docente.Sexo,
                docente.Departamento.Id
                );
            var response = _crearDocenteService.Handle(request).Mensaje;

            Assert.AreEqual("Se registró correctamente el docente Sebastian", response);
        }
Example #5
0
        public async Task PuedeCrearDocenteTestAsync()
        {
            var request = new DocenteRequest(
                "123zzz",
                "Sebastian",
                "Oñate",
                "*****@*****.**",
                "M",
                1
                );
            var jsonObject   = JsonConvert.SerializeObject(request);
            var content      = new StringContent(jsonObject, Encoding.UTF8, "application/json");
            var httpClient   = _factory.CreateClient();
            var responseHttp = await httpClient.PostAsync("api/Docente", content);

            responseHttp.StatusCode.Should().Be(HttpStatusCode.OK);
            var respuesta = await responseHttp.Content.ReadAsStringAsync();

            respuesta.Should().Contain("Se registró correctamente el docente Sebastian");
            var context       = _factory.CreateContext();
            var docente123adf = context.Docentes.FirstOrDefault(t => t.Identificacion == "123zzz");

            docente123adf.Should().NotBeNull();
        }