Esempio n. 1
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);
        }