public async Task <IHttpActionResult> Create(Proyecto proyecto) { try { log.Info(new MDCSet(this.ControllerContext.RouteData)); await _proyectosRepo.Create(proyecto); return(Ok("Registro creado correctamente!")); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
static void AddProyecto() { ProyectoRepository proyectoRepository = new ProyectoRepository(); // Controlo que no haya valores cargados previamente para que no explote o genere datos repetidos. if (proyectoRepository.GetAll().Count == 0) { var factorRepository = new FactorRepository(); var factor = factorRepository.GetAll().FirstOrDefault(); // Selecciono el primer factor de la lista // Este GetAll() obtiene solo factores, pero no trae el listado de valores asociados e ValoresSeleccionados // ToDo: Modificar el GetAll de este repositorio para que lo haga (Capa de Negocio) ValorRepository valorRepository = new ValorRepository(); // var valorSeleccionado = valorRepository.GetByID(factor.ValoresSeleccionados.FirstOrDefault().ValorId); var valorSeleccionado = valorRepository.GetAll().FirstOrDefault(); // Selecciono el primer valor disponible var proyectoFactor = new ProyectoFactor(); var p2 = new List <ProyectoFactor>(0); proyectoFactor.Factor = factor; proyectoFactor.ValorSeleccionado = valorSeleccionado; p2.Add(proyectoFactor); var gerenteRepository = new GerenteRepository(); var gerente = gerenteRepository.GetAll().FirstOrDefault(); var proyecto = new Proyecto(); proyecto.Nombre = "Proyecto de Prueba"; proyecto.Fecha = DateTime.Today; proyecto.Descripcion = "Este es un proyecto de prueba..."; proyecto.Caracterizacion = 1; proyecto.Gerente = gerente; proyecto.ProyectoFactor = p2; proyectoRepository.Create(proyecto); Console.WriteLine("El Proyecto '" + proyecto.Nombre + "' fue agregado con exito, con los siguientes datos:"); Console.WriteLine("Fecha: " + proyecto.Fecha.ToString()); Console.WriteLine("Descripcion: " + proyecto.Descripcion); Console.WriteLine("Sus Factores son: " + proyecto.ProyectoFactor.FirstOrDefault().Factor.Nombre); Console.WriteLine("Y el Valor de su factor es: " + proyecto.ProyectoFactor.FirstOrDefault().ValorSeleccionado.Nombre + " con una influencia de : " + proyecto.ProyectoFactor.FirstOrDefault().ValorSeleccionado.Influencia); } }