public static bool crearEditarComponente(Proyecto proyecto, String nombreComponente, String descripcion, decimal fPrestamo, decimal donacion, decimal nacional, String usuario, long codigoPresupuestario, int orden) { ComponenteSigade componenteSigade = ComponenteSigadeDAO.getComponenteSigadePorCodigoNumero(codigoPresupuestario + "", orden); Componente componente = ComponenteDAO.getComponentePorProyectoYComponenteSigade(proyecto.id, componenteSigade != null ? componenteSigade.id : 0); if (componente == null) { ComponenteTipo componenteTipo = ComponenteTipoDAO.getComponenteTipoPorId(1); AcumulacionCosto acumulacionCosto = AcumulacionCostoDAO.getAcumulacionCostoById(3); componente = new Componente(); componente.acumulacionCostos = acumulacionCosto; componente.acumulacionCostoid = acumulacionCosto.id; componente.componenteSigades = componenteSigade; componente.componenteSigadeid = componenteSigade.id; componente.componenteTipos = componenteTipo; componente.componenteTipoid = componenteTipo.id; componente.proyectos = proyecto; componente.proyectoid = proyecto.id; componente.unidadEjecutoras = proyecto.unidadEjecutoras; componente.nombre = nombreComponente; componente.descripcion = descripcion; componente.usuarioCreo = usuario; componente.fechaCreacion = DateTime.Now; componente.estado = 1; componente.fechaInicio = proyecto.fechaInicio; componente.fechaFin = proyecto.fechaFin; componente.duracion = 1; componente.duracionDimension = "d"; componente.nivel = 1; componente.esDeSigade = 1; componente.fuentePrestamo = fPrestamo; componente.fuenteDonacion = donacion; componente.fuenteNacional = nacional; componente.inversionNueva = 0; componente.entidad = proyecto.entidad; componente.ejercicio = proyecto.ejercicio; componente.ueunidadEjecutora = componente.unidadEjecutoras.unidadEjecutora; } else { componente.fuentePrestamo = fPrestamo; componente.fuenteDonacion = donacion; componente.fuenteNacional = nacional; componente.fechaActualizacion = DateTime.Now; componente.usuarioActualizo = usuario; } return(ComponenteDAO.guardarComponente(componente, false)); }
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); }