public PlazoAperturaResponse CrearPlazoApertura(PlazoAperturaRequest request) { var jefeDpto = _jefeDptoRepository.FindFirstOrDefault(c => c.Identificacion == request.IdentificacionCreador); if (jefeDpto == null) { return(new PlazoAperturaResponse("No existe el Jefe de departamento", "error")); } var plazoApertura = new PlazoApertura(jefeDpto); var response = plazoApertura.EstablecerPlazo(request.FechaInicio, request.FechaFin); if (response.Equals("El plazo fue correctamente ingresado")) { var currentPlazo = _plazoAperturaRepository.GetCurrentPlazoByCreador(jefeDpto.Identificacion); if (currentPlazo != null) { currentPlazo.Deshabilitar(); _plazoAperturaRepository.Update(currentPlazo); } _plazoAperturaRepository.Add(plazoApertura); _unitOfWork.Commit(); return(new PlazoAperturaResponse(response, "Ok")); } return(new PlazoAperturaResponse(response, "Info")); }
public static PlazoApertura CreatePlazoAperturaVencido(string identificacion) { var jefe = JefeDptoMother.CreateJefeDpto(identificacion); var plazo = new PlazoApertura(jefe); plazo.EstablecerPlazo(DateTime.Now.AddDays(-5), DateTime.Now.AddDays(-1)); return(plazo); }
public void LaFechaDeInicioNoPuedeSerIgualALaFechaDeFin() { var dpto = new Departamento("AB21", "Departamento de Ingenieria de Sistemas"); var creador = new JefeDpto("1223425", "Lucas", "Ortiz", "*****@*****.**", "Masculino", dpto); var fechaInicio = new DateTime(2021, 02, 20); var fechaFin = new DateTime(2021, 02, 20); var plazoApertura = new PlazoApertura(creador); var resultado = plazoApertura.EstablecerPlazo(fechaInicio, fechaFin); var esperado = "La fecha de inicio no puede ser mayor o igual a la fecha de fin"; Assert.AreEqual(esperado, resultado); }
public void LaFechaDeFinDebeSerMayorAlaFechaDeInicio() { var dpto = new Departamento("AB21", "Departamento de Ingenieria de Sistemas"); var creador = new JefeDpto("1223425", "Lucas", "Ortiz", "*****@*****.**", "Masculino", dpto); var fechaInicio = new DateTime(2021, 02, 20); var fechaFin = new DateTime(2021, 03, 20); var plazoApertura = new PlazoApertura(creador); var resultado = plazoApertura.EstablecerPlazo(fechaInicio, fechaFin); var esperado = "El plazo fue correctamente ingresado"; Assert.AreEqual(esperado, resultado); }