public PlanAccionResponse Handle(PlanAccionRequest request) { var verificarPlazoAperturaService = new VerificarPlazoAperturaService(_plazoAperturaRepository); var planAccion = _planAccionRepository.FindByActividad(request.ActividadId); if (planAccion != null) { return(new PlanAccionResponse("Ya existe un plan de acción para esta actividad", "Error", planAccion)); } var actividad = _actividadRepository.Find(request.ActividadId); if (actividad == null) { return(new PlanAccionResponse("Debe tener una actividad asignada para crear una plan de acciones", "Error", planAccion)); } var verificacionPlazoApertura = verificarPlazoAperturaService.Handle(actividad.Asignador.Identificacion); if (verificacionPlazoApertura.Contains("Error")) { return(new PlanAccionResponse(verificacionPlazoApertura, "Error", null)); } planAccion = new PlanAccion(); var errors = canConvertToItemPlanList(request.Items); if (errors.Any()) { return(new PlanAccionResponse(StringUtils.ToString(errors), "Error", planAccion)); } var items = ConvertToItemPlanList(request.Items); errors.AddRange(planAccion.CanDeliver(items, actividad)); if (errors.Any()) { return(new PlanAccionResponse(StringUtils.ToString(errors), "Error", planAccion)); } planAccion.Deliver(items, actividad); var response = ""; try { _planAccionRepository.Add(planAccion); response = "Plan de accion registrado correctamente"; actividad.ChangeToPlaneada(); _actividadRepository.Update(actividad); } catch (Exception e) { return(new PlanAccionResponse("No se pudo registrar", "Error", null)); } _unitOfWork.Commit(); if (actividad.Responsable == null) { return(new PlanAccionResponse("No trajo docente", "Error", planAccion)); } _emailServer.Send("Nueva plan registrado", $"Se registro el plan de acciones", actividad.Responsable.Email); return(new PlanAccionResponse(response, "Ok", planAccion)); }
public async Task <IActionResult> UpdateActivity(Actividad activity) { _repository.Update(activity); if (await _repository.SaveAll()) { return(NoContent()); } throw new Exception($"Error to process"); }
public void CancelarActividad(ActividadCanceladaViewModel actividadCanceladaViewModel) { var actividadCanelada = new ActividadCancelada() { Actividad_Id = actividadCanceladaViewModel.Actividad_Id, Motivo = actividadCanceladaViewModel.Motivo }; actividadCanceladaRepository.Insert(actividadCanelada); var actividad = actividadRepository.Get(r => r.Id == actividadCanceladaViewModel.Actividad_Id).FirstOrDefault(); actividad.Cancelada = true; actividadRepository.Update(actividad, r => r.Cancelada); }
public void Update(Actividad entity) { actividadRepository.Update(entity); }