예제 #1
0
        public static bool guardarComponentesSigade(String codigoPresupuestario, String usuario, int existeData)
        {
            bool ret = true;
            List <DtmAvanceFisfinanCmp> componentesSigade = DataSigadeDAO.getComponentes(codigoPresupuestario);

            foreach (DtmAvanceFisfinanCmp objComponente in componentesSigade)
            {
                ComponenteSigade temp = new ComponenteSigade();
                temp.codigoPresupuestario = objComponente.codigoPresupuestario;
                temp.estado           = 1;
                temp.fechaCreacion    = DateTime.Now;
                temp.montoComponente  = objComponente.montoComponente ?? default(decimal);
                temp.nombre           = objComponente.nombreComponente;
                temp.numeroComponente = objComponente.numeroComponente ?? default(int);
                temp.usuarioCreo      = usuario;

                ComponenteSigade comp = ComponenteSigadeDAO.getComponenteSigadePorCodigoNumero(temp.codigoPresupuestario, temp.numeroComponente);
                if (comp == null)
                {
                    ret = ret && ComponenteSigadeDAO.guardarComponenteSigade(temp);
                }
                else if (comp != null && existeData == 1)
                {
                    comp.montoComponente    = temp.montoComponente;
                    comp.fechaActualizacion = DateTime.Now;
                    comp.usuarioActualizo   = usuario;
                    ret = ret && ComponenteSigadeDAO.guardarComponenteSigade(comp);
                }
            }
            return(ret);
        }
예제 #2
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);
        }