Esempio n. 1
0
        public async Task <string> saveDatabase(List <DataPresupuesto> data, DataRowCollection data2)
        {
            try
            {
                //List<DataPresupuesto> data2 = data.Where(x => x.IdProyecto == 1).ToList();
                List <DETALLEMOMENTOS>    detallesdb       = dbcontex.DETALLEMOMENTOS.ToList();
                List <Atuevaluacion_demo> autoevaDetalledb = dbcontex.Atuevaluacion_demo.ToList();


                #region file 1

                foreach (DataPresupuesto row in data)
                {
                    if (detallesdb.Where(x => x.ID_PROYECTO == row.IdProyecto && x.CLV_PARTID == row.ClvPartida).Count() == 0)
                    {
                        /*Guarda momento del modificado*/
                        if (row.Modificado.Count > 0)
                        {
                            DETALLEMOMENTOS dbmoments = new DETALLEMOMENTOS();

                            dbmoments.ID_PROYECTO = row.IdProyecto;
                            dbmoments.CLV_PARTID  = row.ClvPartida;
                            dbmoments.MOMENTO     = "MODIFICADO";
                            foreach (LCalendario momento in row.Modificado)
                            {
                                if (momento.Mes == LCalendario.Meses.Enero)
                                {
                                    dbmoments.ENERO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Febrero)
                                {
                                    dbmoments.FEBRERO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Marzo)
                                {
                                    dbmoments.MARZO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Abril)
                                {
                                    dbmoments.ABRIL = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Mayo)
                                {
                                    dbmoments.MAYO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Junio)
                                {
                                    dbmoments.JUNIO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Julio)
                                {
                                    dbmoments.JULIO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Agosto)
                                {
                                    dbmoments.AGOSTO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Septiembre)
                                {
                                    dbmoments.SEPTIEMBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Octubre)
                                {
                                    dbmoments.OCTUBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Noviembre)
                                {
                                    dbmoments.NOVIEMBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Diciembre)
                                {
                                    dbmoments.DICIEMBRE = momento.Monto;
                                }
                            }
                            dbcontex.DETALLEMOMENTOS.Add(dbmoments);
                            await dbcontex.SaveChangesAsync();
                        }

                        /*Guarda momento del COMPROMETIDO*/
                        if (row.Comprometido.Count > 0)
                        {
                            DETALLEMOMENTOS dbmoments = new DETALLEMOMENTOS();

                            dbmoments.ID_PROYECTO = row.IdProyecto;
                            dbmoments.CLV_PARTID  = row.ClvPartida;
                            dbmoments.MOMENTO     = "COMPROMETIDO";
                            foreach (LCalendario momento in row.Comprometido)
                            {
                                if (momento.Mes == LCalendario.Meses.Enero)
                                {
                                    dbmoments.ENERO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Febrero)
                                {
                                    dbmoments.FEBRERO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Marzo)
                                {
                                    dbmoments.MARZO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Abril)
                                {
                                    dbmoments.ABRIL = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Mayo)
                                {
                                    dbmoments.MAYO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Junio)
                                {
                                    dbmoments.JUNIO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Julio)
                                {
                                    dbmoments.JULIO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Agosto)
                                {
                                    dbmoments.AGOSTO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Septiembre)
                                {
                                    dbmoments.SEPTIEMBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Octubre)
                                {
                                    dbmoments.OCTUBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Noviembre)
                                {
                                    dbmoments.NOVIEMBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Diciembre)
                                {
                                    dbmoments.DICIEMBRE = momento.Monto;
                                }
                            }

                            dbcontex.DETALLEMOMENTOS.Add(dbmoments);
                            await dbcontex.SaveChangesAsync();
                        }

                        /*Guarda momento del DEVENGADO*/
                        if (row.Devengado.Count > 0)
                        {
                            DETALLEMOMENTOS dbmoments = new DETALLEMOMENTOS();

                            dbmoments.ID_PROYECTO = row.IdProyecto;
                            dbmoments.CLV_PARTID  = row.ClvPartida;
                            dbmoments.MOMENTO     = "DEVENGADO";
                            foreach (LCalendario momento in row.Devengado)
                            {
                                if (momento.Mes == LCalendario.Meses.Enero)
                                {
                                    dbmoments.ENERO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Febrero)
                                {
                                    dbmoments.FEBRERO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Marzo)
                                {
                                    dbmoments.MARZO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Abril)
                                {
                                    dbmoments.ABRIL = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Mayo)
                                {
                                    dbmoments.MAYO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Junio)
                                {
                                    dbmoments.JUNIO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Julio)
                                {
                                    dbmoments.JULIO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Agosto)
                                {
                                    dbmoments.AGOSTO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Septiembre)
                                {
                                    dbmoments.SEPTIEMBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Octubre)
                                {
                                    dbmoments.OCTUBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Noviembre)
                                {
                                    dbmoments.NOVIEMBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Diciembre)
                                {
                                    dbmoments.DICIEMBRE = momento.Monto;
                                }
                            }
                            dbcontex.DETALLEMOMENTOS.Add(dbmoments);
                            await dbcontex.SaveChangesAsync();
                        }

                        /*Guarda momento del EJERCIDO*/
                        if (row.Ejercido.Count > 0)
                        {
                            DETALLEMOMENTOS dbmoments = new DETALLEMOMENTOS();

                            dbmoments.ID_PROYECTO = row.IdProyecto;
                            dbmoments.CLV_PARTID  = row.ClvPartida;
                            dbmoments.MOMENTO     = "EJERCIDO";
                            foreach (LCalendario momento in row.Ejercido)
                            {
                                if (momento.Mes == LCalendario.Meses.Enero)
                                {
                                    dbmoments.ENERO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Febrero)
                                {
                                    dbmoments.FEBRERO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Marzo)
                                {
                                    dbmoments.MARZO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Abril)
                                {
                                    dbmoments.ABRIL = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Mayo)
                                {
                                    dbmoments.MAYO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Junio)
                                {
                                    dbmoments.JUNIO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Julio)
                                {
                                    dbmoments.JULIO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Agosto)
                                {
                                    dbmoments.AGOSTO = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Septiembre)
                                {
                                    dbmoments.SEPTIEMBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Octubre)
                                {
                                    dbmoments.OCTUBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Noviembre)
                                {
                                    dbmoments.NOVIEMBRE = momento.Monto;
                                }
                                if (momento.Mes == LCalendario.Meses.Diciembre)
                                {
                                    dbmoments.DICIEMBRE = momento.Monto;
                                }
                            }
                            dbcontex.DETALLEMOMENTOS.Add(dbmoments);
                            await dbcontex.SaveChangesAsync();
                        }
                    }
                }

                #endregion file 1

                #region file 2

                if (data2 != null)
                {
                    foreach (DataRow row in data2)
                    {
                        if (Int32.TryParse(row[0].ToString(), out int id_dependencia))
                        {
                            String iddependencia = id_dependencia.ToString();
                            if (autoevaDetalledb.Where(x => x.ID_PROYECTO.Equals(iddependencia) && x.CLV_PARTIDA.Equals(row[5])).Count() == 0)
                            {
                                Atuevaluacion_demo auto = new Atuevaluacion_demo();
                                auto.CLV_UNIDADM    = row[0].ToString();
                                auto.UNIDADM        = row[1].ToString();
                                auto.TIPO_GASTO     = row[2].ToString();
                                auto.CLV_CAPITULO   = row[3].ToString();
                                auto.CAPITULO       = row[4].ToString();
                                auto.CLV_PARTIDA    = row[5].ToString();
                                auto.PARTIDA        = row[6].ToString();
                                auto.CLV_LOCALIDAD  = row[7].ToString();
                                auto.LOCALIDAD      = row[8].ToString();
                                auto.CLV_FUENTE     = row[9].ToString();
                                auto.FUENTE         = row[10].ToString();
                                auto.ABR_FUENTE     = row[11].ToString();
                                auto.CLV_RECURSO    = row[12].ToString();
                                auto.RECURSO        = row[13].ToString();
                                auto.ID_PROYECTO    = row[14].ToString();
                                auto.PROYECTO       = row[15].ToString();
                                auto.FECHA_INICIO   = row[16].ToString();
                                auto.FECHA_TERMINO  = row[17].ToString();
                                auto.N_PROGRAMA     = row[18].ToString();
                                auto.PROGRAMA       = row[19].ToString();
                                auto.PROG_PRESUP    = row[20].ToString();
                                auto.CLV_EJE        = row[21].ToString();
                                auto.EJE            = row[22].ToString();
                                auto.CLV_PROG_ALIN  = row[23].ToString();
                                auto.PROG_ALIN      = row[24].ToString();
                                auto.CLV_OBJ_ALIN   = row[25].ToString();
                                auto.OBJ_ALIN       = row[26].ToString();
                                auto.CLV_EST_ALIN   = row[27].ToString();
                                auto.EST_ALIN       = row[28].ToString();
                                auto.CLV_LIN_ACC    = row[29].ToString();
                                auto.LIN_ACC        = row[30].ToString();
                                auto.CLV_IND_ALIN   = row[31].ToString();
                                auto.IND_ALIN       = row[32].ToString();
                                auto.CLV_META_ALIN  = row[33].ToString();
                                auto.META_ALIN      = row[34].ToString();
                                auto.CLV_FIN        = row[35].ToString();
                                auto.FINAL          = row[36].ToString();
                                auto.CLV_FUN        = row[37].ToString();
                                auto.FUNCION        = row[38].ToString();
                                auto.CLV_SUBFUN     = row[39].ToString();
                                auto.SUBFUNCION     = row[40].ToString();
                                auto.CLV_ACTINST    = row[41].ToString();
                                auto.ACTIVIDAD_INST = row[42].ToString();
                                auto.MODEJECUC      = row[43].ToString();
                                auto.MODAINVE       = row[44].ToString();
                                auto.INICIAL        = decimal.Parse(row[45].ToString());
                                auto.AMPLIADO       = decimal.Parse(row[46].ToString());
                                auto.REDUCIDO       = decimal.Parse(row[47].ToString());
                                auto.PRESUPUESTO    = decimal.Parse(row[48].ToString());
                                auto.COMPROMETIDO   = decimal.Parse(row[49].ToString());
                                auto.DEVENGADO      = decimal.Parse(row[50].ToString());
                                auto.EJERCIDO       = decimal.Parse(row[51].ToString());
                                auto.PAGADO         = decimal.Parse(row[52].ToString());
                                auto.ESTADO         = row[53].ToString();

                                dbcontex.Atuevaluacion_demo.Add(auto);
                                await dbcontex.SaveChangesAsync();
                            }
                        }
                    }
                }

                #endregion file 2


                return("");
            }
            catch (Exception e)
            {
                throw (e);
            }
        }