public static bool guardarComponentes(String codigoPresupuestario, int proyectoId, String usuario, DateTime fechaSuscripcion) { bool ret = true; Proyecto proyecto = ProyectoDAO.getProyecto(proyectoId); if (proyecto.projectCargado == null || !proyecto.projectCargado.Equals(1)) { List <DtmAvanceFisfinanCmp> componentesSigade = DataSigadeDAO.getComponentes(codigoPresupuestario); List <Componente> componentesSipro = ComponenteDAO.getComponentesPorProyecto(proyectoId); if (componentesSigade != null && componentesSigade.Count > 0) { for (int i = 0; i < componentesSigade.Count; i++) { if (i < componentesSipro.Count) { Componente componente = componentesSipro[i]; componente.nombre = componentesSigade[i].nombreComponente; componente.esDeSigade = 1; componente.usuarioActualizo = usuario;; componente.fechaActualizacion = DateTime.Now;; ret = ret && ComponenteDAO.guardarComponente(componente, false); } else { ComponenteTipo componenteTipo = ComponenteTipoDAO.getComponenteTipoPorId(1); int year = DateTime.Now.Year; UnidadEjecutora unidadEjecutora = UnidadEjecutoraDAO.getUnidadEjecutora(year, 0, 0); AcumulacionCosto acumulacionCosto = AcumulacionCostoDAO.getAcumulacionCostoById(3); Componente componente = new Componente(); componente.acumulacionCostos = acumulacionCosto; componente.acumulacionCostoid = acumulacionCosto.id; componente.componenteTipos = componenteTipo; componente.componenteTipoid = componenteTipo.id; componente.unidadEjecutoras = unidadEjecutora; componente.ueunidadEjecutora = unidadEjecutora.unidadEjecutora; componente.nombre = componentesSigade[i].nombreComponente; componente.usuarioCreo = usuario; componente.fechaCreacion = DateTime.Now; componente.estado = 1; componente.fechaInicio = fechaSuscripcion; componente.fechaFin = fechaSuscripcion; componente.duracion = 1; componente.duracionDimension = "d"; componente.nivel = 1; componente.esDeSigade = 1; componente.inversionNueva = 0; ret = ret && ComponenteDAO.guardarComponente(componente, true); } } if (componentesSipro.Count > componentesSigade.Count) { for (int i = componentesSigade.Count; i < componentesSipro.Count; i++) { Componente componente = componentesSipro[i]; ret = ret && ObjetoDAO.borrarHijos(componente.treepath, 2, usuario); } } } } return(ret); }
public static Proyecto crearEditarProyecto(JObject unidad, Prestamo prestamo, String usuario, JArray est_unidadesEjecutoras, int existeData) { Proyecto ret = null; int esCoordinador = 0; DateTime fechaElegibilidad = default(DateTime); DateTime fechaCierre = default(DateTime); for (int j = 0; j < est_unidadesEjecutoras.Count; j++) { JObject unidad_ = (JObject)est_unidadesEjecutoras[j]; if (unidad["ejercicio"].ToString().Equals(unidad_["ejercicio"].ToString()) && unidad["entidad"].ToString().Equals(unidad_["entidadId"].ToString()) && (unidad["id"].ToString().Equals(unidad_["id"].ToString()) || Convert.ToInt32(unidad_["id"].ToString()) == 205)) { esCoordinador = (bool)unidad_["esCoordinador"] == true ? 1 : 0; fechaElegibilidad = unidad_["fechaElegibilidad"].ToString() != "" ? (DateTime)unidad_["fechaElegibilidad"] : default(DateTime); fechaCierre = unidad_["fechaCierre"].ToString() != "" ? (DateTime)unidad_["fechaCierre"] : default(DateTime); break; } } UnidadEjecutora unidadEjecutora = UnidadEjecutoraDAO.getUnidadEjecutora( Convert.ToInt32(unidad["ejercicio"].ToString()), Convert.ToInt32(unidad["entidad"].ToString()), Convert.ToInt32(unidad["id"].ToString())); if (unidadEjecutora != null) { Proyecto proyecto = null; if (existeData == 0) { ProyectoTipo proyectoTipo = ProyectoTipoDAO.getProyectoTipoPorId(1); AcumulacionCosto acumulacionCosto = AcumulacionCostoDAO.getAcumulacionCostoById(3); proyecto = new Proyecto(); proyecto.acumulacionCostos = acumulacionCosto; proyecto.acumulacionCostoid = acumulacionCosto.id; proyecto.proyectoClase = 1; proyecto.prestamos = prestamo; proyecto.prestamoid = prestamo.id; proyecto.proyectoTipos = proyectoTipo; proyecto.proyectoTipoid = proyectoTipo.id; proyecto.unidadEjecutoras = unidadEjecutora; proyecto.ueunidadEjecutora = unidadEjecutora.unidadEjecutora; proyecto.nombre = prestamo.numeroPrestamo + " - " + unidadEjecutora.nombre; proyecto.usuarioCreo = usuario; proyecto.fechaCreacion = DateTime.Now; proyecto.estado = 1; proyecto.fechaInicio = prestamo.fechaSuscripcion; proyecto.fechaFin = prestamo.fechaSuscripcion; proyecto.duracion = 1; proyecto.duracionDimension = "d"; proyecto.nivel = 0; proyecto.ejecucionFisicaReal = 0; proyecto.projectCargado = 0; proyecto.coordinador = esCoordinador; proyecto.fechaElegibilidad = fechaElegibilidad; proyecto.fechaCierre = fechaCierre; proyecto.unidadEjecutoras = unidadEjecutora; proyecto.ejercicio = unidadEjecutora.ejercicio; proyecto.entidad = unidadEjecutora.entidadentidad; } else { proyecto = ProyectoDAO.getProyectoPorUnidadEjecutora(unidadEjecutora.unidadEjecutora, prestamo.id, unidadEjecutora.entidadentidad); proyecto.coordinador = esCoordinador; proyecto.fechaElegibilidad = fechaElegibilidad; proyecto.fechaCierre = fechaCierre; proyecto.fechaActualizacion = DateTime.Now; proyecto.usuarioActualizo = usuario; proyecto.unidadEjecutoras = unidadEjecutora; } return(ProyectoDAO.guardarProyecto(proyecto, false) ? proyecto : null); } return(ret); }