public async Task <IActionResult> CreatePeriodo([FromBody] PeriodoRequest periodo) { PeriodoResponse = new PeriodoResponse(); _service = new CrearPeriodoService(_unitOfWork); var rta = _service.CrearPerido(periodo); if (rta.isOk()) { await _context.SaveChangesAsync(); return(CreatedAtAction("GetPeriodo", new { periodo = periodo.NumeroPeriodo }, periodo)); } return(BadRequest(rta.Message)); }
public PeriodoResponse CrearPerido(PeriodoRequest request) { var matricula = _unitOfWork.PeriodoServiceRepository.FindFirstOrDefault(t => t.NumeroPeriodo == request.NumeroPeriodo); if (matricula == null) { Dominio.Periodo newPeriodo = new Dominio.Periodo(request.NumeroPeriodo, request.NombrePeriodo, request.FechaInicio, request.FechaFin); IReadOnlyList <string> errors = newPeriodo.CanCrear(newPeriodo); if (errors.Any()) { string listaErrors = "Errores:"; foreach (var item in errors) { listaErrors += item.ToString(); } return(new PeriodoResponse() { Message = listaErrors }); } else { _unitOfWork.PeriodoServiceRepository.Add(newPeriodo); _unitOfWork.Commit(); return(new PeriodoResponse() { Message = $"Periodo Registrado Exitosamente" }); } } else { return(new PeriodoResponse() { Message = $"Este periodo ya existe" }); } }