Exemplo n.º 1
0
        public IActionResult PostCrearJefeDpto(JefeDptoRequest request)
        {
            var service  = new CrearJefeDptoService(_unitOfWork, _departamentoRepository, _jefeDptoRepository, _mailServer);
            var response = service.Handle(request);

            return(Ok(response));
        }
Exemplo n.º 2
0
        public JefeDptoResponse Handle(JefeDptoRequest request)
        {
            if (_jefeDptoRepository.FindByIdentificacion(request.Identificacion) != null)
            {
                return(new JefeDptoResponse("Ya existe un JefeDpto con esa identificacion", "Error"));
            }
            var departamento = _departamentoRepository.Find(request.departamentoId);

            if (departamento == null)
            {
                return(new JefeDptoResponse("Se debe asignar un departamento al Jefe de departamento", "Error"));
            }

            var jefeDpto = new JefeDpto();
            var errors   = jefeDpto.CanDeliver(request.Identificacion,
                                               request.Nombres,
                                               request.Apellidos,
                                               request.Email,
                                               request.Sexo,
                                               departamento);

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

            try
            {
                _jefeDptoRepository.Add(jefeDpto);
                response = $"Se registró correctamente el Jefe de departamento {jefeDpto.Nombres}";
            }
            catch (Exception e)
            {
                response = "No se pudo registrar";
            }
            _unitOfWork.Commit();
            _emailServer.Send("Registro en AppAC", "Se registro en el sistema", jefeDpto.Email);
            return(new JefeDptoResponse(response, "Ok"));
        }
Exemplo n.º 3
0
        public async Task PuedeCrearPlazoAperturaTestAsync()
        {
            #region Registro jefeDpto
            var request = new JefeDptoRequest(
                "123fff",
                "Sebastian",
                "Oñate",
                "*****@*****.**",
                "M",
                1
                );
            var jsonObject   = JsonConvert.SerializeObject(request);
            var content      = new StringContent(jsonObject, Encoding.UTF8, "application/json");
            var responseHttp = await _client.PostAsync("api/jefeDpto", content);

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

            respuesta.Should().Contain("Se registró correctamente el Jefe de departamento Sebastian");
            var context  = _factory.CreateContext();
            var jefeDpto = context.JefesDptos.FirstOrDefault(t => t.Identificacion == "123fff");
            jefeDpto.Should().NotBeNull();
            #endregion

            #region Registro Plazo apertura
            var fechaInicio  = new DateTime(2021, 02, 20);
            var fechaFin     = new DateTime(2021, 03, 20);
            var plazoRequest = new PlazoAperturaRequest(
                "123fff",
                fechaInicio,
                fechaFin
                );
            jsonObject   = JsonConvert.SerializeObject(plazoRequest);
            content      = new StringContent(jsonObject, Encoding.UTF8, "application/json");
            responseHttp = await _client.PostAsync("api/PlazoApertura", content);

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

            respuesta.Should().Contain("El plazo fue correctamente ingresado");
            var plazoApertura = context.PlazosApertura.FirstOrDefault(t => t.Creador.Identificacion == "123fff");
            plazoApertura.Should().NotBeNull();

            #endregion
        }
Exemplo n.º 4
0
        public void NoPuedeGuardarJefeDptoSiElDptoNoExisteTest()
        {
            var jefeDpto = JefeDptoMother.CreateJefeDpto("12141411");

            _departamentoRepository.Add(jefeDpto.Departamento);
            _dbContext.SaveChanges();
            var request = new JefeDptoRequest(
                jefeDpto.Identificacion,
                jefeDpto.Nombres,
                jefeDpto.Apellidos,
                jefeDpto.Email,
                jefeDpto.Sexo,
                3
                );
            var response = _crearJefeDptoService.Handle(request).Mensaje;

            Assert.AreEqual("Se debe asignar un departamento al Jefe de departamento", response);
        }
Exemplo n.º 5
0
        public void PuedeGuardarJefeDptoTest()
        {
            var jefeDpto = JefeDptoMother.CreateJefeDpto("12141411");

            _departamentoRepository.Add(jefeDpto.Departamento);
            _dbContext.SaveChanges();
            var request = new JefeDptoRequest(
                jefeDpto.Identificacion,
                jefeDpto.Nombres,
                jefeDpto.Apellidos,
                jefeDpto.Email,
                jefeDpto.Sexo,
                jefeDpto.Departamento.Id
                );
            var response = _crearJefeDptoService.Handle(request).Mensaje;

            Assert.AreEqual("Se registró correctamente el Jefe de departamento Kelly", response);
        }
Exemplo n.º 6
0
        public async Task PuedeCrearJefeDptoTestAsync()
        {
            var request = new JefeDptoRequest(
                "123adf",
                "Sebastian",
                "Oñate",
                "*****@*****.**",
                "M",
                1
                );
            var jsonObject   = JsonConvert.SerializeObject(request);
            var content      = new StringContent(jsonObject, Encoding.UTF8, "application/json");
            var responseHttp = await _client.PostAsync("api/jefeDpto", content);

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

            respuesta.Should().Contain("Se registró correctamente el Jefe de departamento Sebastian");
            var context  = _factory.CreateContext();
            var jefeDpto = context.JefesDptos.FirstOrDefault(t => t.Identificacion == "123adf");

            jefeDpto.Should().NotBeNull();
        }