Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }