コード例 #1
0
        public int calcularTiempoDeIntervencion(Intervencion intervencion)
        {
            DateTime fechaFinalizacion = intervencion.getFechaFinalizacion();
            DateTime fechaEnCurso      = intervencion.getFechaEnCurso();

            return(fechaFinalizacion - fechaEnCurso);
        }
コード例 #2
0
        private void BtnFinalizar_Click(object sender, EventArgs e)
        {
            var seleccionada = dgvIntervenciones.SelectedRows;

            if (seleccionada.Count == 0 || seleccionada.Count > 1)
            {
                MessageBox.Show("Debe seleccionar una unica intervención");
                return;
            }

            var id = int.Parse(dgvIntervenciones.CurrentRow.Cells[0].Value.ToString());

            foreach (Intervencion inter in inters)
            {
                if (inter.ID == id)
                {
                    intervencion = inter;
                }
            }

            foreach (Dotacion dota in intervencion.dotaciones)
            {
                var fila = new string[] {
                    dota.ID.ToString(),
                              dota.fechaSalida.ToString(),
                              dota.kmUnidadSalida.ToString(),
                              dota.unidadMovil.ToString(),
                };

                dgvDotaciones.Rows.Add(fila);
            }

            dgvDotaciones.Visible = true;
            dgvDotaciones.Left    = 80;
            dgvDotaciones.Top     = 149;
            lblDotaciones.Visible = true;
            lblDotaciones.Left    = 80;
            lblDotaciones.Top     = 50;

            lblIntervencion.Visible   = false;
            lblSelec.Visible          = false;
            dgvIntervenciones.Visible = false;
            btnFinalizar.Visible      = false;

            btnFinalizarIntervencion.Visible = true;
            lblFecha.Visible        = true;
            lblKmLlegada.Visible    = true;
            txtKmLlegada.Visible    = true;
            dtpFechaLlegada.Visible = true;

            lblKmSalir.Visible = true;
            txtSalir.Visible   = true;
            lblUM.Visible      = true;
            txtUM.Visible      = true;

            btnCargar.Visible = true;
        }
コード例 #3
0
        public void Obtener_datos_de_una_intervencion()
        {
            string rawIntervencion = " y\nyy: asdf<br>asdf  ";

            IntervencionParser parser       = new IntervencionParser();
            Intervencion       intervencion = parser.ParsearIntervencion(rawIntervencion);

            Assert.AreEqual("yyy", intervencion.NombreDiputado);
            Assert.AreEqual("asdf<br>asdf", intervencion.Texto);
        }
コード例 #4
0
        public void Ignorar_el_cargo_y_quedarse()
        {
            string rawIntervencion =
                "DIRECTOR GERENTE DEL INSTITUT GUTTMANN (Ramírez Ribas): asdfasfd <br>asdfasf";

            IntervencionParser parser       = new IntervencionParser();
            Intervencion       intervencion = parser.ParsearIntervencion(rawIntervencion);

            Assert.AreEqual("Ramírez Ribas", intervencion.NombreDiputado);
        }
コード例 #5
0
        public void Parsear_una_palabra_clave()
        {
            Intervencion intervencion =
                new Intervencion
            {
                NombreDiputado = "pepe",
                Texto          = "Menudo empleo este, trabajamos 14 horas diarias"
            };

            Dictionary <string, int> pesoDeTerminos = _parser.GetPesoDeTerminosDeIntervencion(intervencion);

            Assert.AreEqual(1, pesoDeTerminos.Count);
            Assert.AreEqual(4, pesoDeTerminos["empleo"]);
        }
コード例 #6
0
        public void Parsear_varias_palabras_clave()
        {
            Intervencion intervencion =
                new Intervencion
            {
                NombreDiputado = "pepe",
                Texto          = "Menudo empleo este, trabajamos 14 horas diarias\n" +
                                 "y en las guerras no hay más que bombas y balas"
            };

            Dictionary <string, int> pesoDeTerminos = _parser.GetPesoDeTerminosDeIntervencion(intervencion);

            Assert.AreEqual(2, pesoDeTerminos.Count);
            Assert.AreEqual(4, pesoDeTerminos["empleo"]);
            Assert.AreEqual(12, pesoDeTerminos["guerra"]);
        }
コード例 #7
0
        public void AbrirMesAnterior(int proyectoID, int cuentaCorrienteID)
        {
            // Borrar intervencion
            Intervencion Intervencion = db.Intervencion.Where(i => i.ProyectoID == proyectoID).OrderBy(i => i.ID).Last();

            db.Entry(Intervencion).State = EntityState.Deleted;
            db.SaveChanges();

            // Borrar periodo
            Periodo Periodo = db.Periodo.Where(i => i.ProyectoID == proyectoID).OrderBy(i => i.ID).Last();

            db.Entry(Periodo).State = EntityState.Deleted;
            db.SaveChanges();

            // Borrar saldo
            Saldo Saldo = db.Saldo.Where(i => i.CuentaCorrienteID == cuentaCorrienteID).OrderBy(i => i.ID).Last();

            db.Entry(Saldo).State = EntityState.Deleted;
            db.SaveChanges();
        }
コード例 #8
0
        public Intervencion[] obtenerIntervenciones()
        {
            /*
             * Debido a la falta de tiempo se generarán intervenciones a través del mismo lenguaje como prueba
             */

            Intervencion[] i = new Intervencion[13];


            Estado enCurso = new Estado();

            enCurso.id_estado = 5;
            enCurso.nombre    = "En Curso";
            enCurso.ambito    = 1;

            Estado finalizada = new Estado();

            finalizada.id_estado = 7;
            finalizada.nombre    = "Finalizada";
            finalizada.ambito    = 1;

            Estado creada = new Estado();

            creada.id_estado = 1;
            creada.nombre    = "Creada";
            creada.ambito    = 1;

            Estado abortada = new Estado();

            abortada.id_estado = 6;
            abortada.nombre    = "Abortada";
            abortada.ambito    = 1;

            Estado firmada = new Estado();

            firmada.id_estado = 2;
            firmada.nombre    = "Firmada";
            firmada.ambito    = 1;

            Dotacion d1 = new Dotacion();
            Dotacion d2 = new Dotacion();
            Dotacion d3 = new Dotacion();
            Dotacion d4 = new Dotacion();
            Dotacion d5 = new Dotacion();


            Gravedad alta = new Gravedad();

            alta.id_Gravedad = 1;
            alta.nombre      = "Alta";

            Gravedad media = new Gravedad();

            media.id_Gravedad = 2;
            media.nombre      = "Media";

            Gravedad baja = new Gravedad();

            baja.id_Gravedad = 3;
            baja.nombre      = "Baja";

            TipoSiniestro incendio = new TipoSiniestro();

            incendio.id_tipoSiniestro = 1;
            incendio.nombre           = "Incendio";

            TipoSiniestro acc = new TipoSiniestro();

            acc.id_tipoSiniestro = 2;
            acc.nombre           = "Accidente Vial";

            TipoSiniestro res = new TipoSiniestro();

            res.id_tipoSiniestro = 3;
            res.nombre           = "Rescate";

            TipoSiniestro ev = new TipoSiniestro();

            ev.id_tipoSiniestro = 4;
            ev.nombre           = "Evacuación";


            Intervencion iv = new Intervencion();

            iv.id_intervencion = 1;
            iv.estado_actual   = finalizada;
            iv.dotaciones.Add(d1);
            iv.dotaciones.Add(d2);
            iv.dotaciones.Add(d3);
            iv.encargado        = new Bombero();
            iv.encargado.nombre = "Perez, Juan";
            iv.gravedad         = alta;
            iv.tipo_siniestro   = acc;
            HistorialDeIntervención h1 = new HistorialDeIntervención(new DateTime(2019, 9, 1, 15, 10, 0), creada);
            HistorialDeIntervención h2 = new HistorialDeIntervención(new DateTime(2019, 9, 1, 15, 40, 0), enCurso);
            HistorialDeIntervención h3 = new HistorialDeIntervención(new DateTime(2019, 9, 1, 15, 59, 0), finalizada);

            iv.historial.Add(h1);
            iv.historial.Add(h2);
            iv.historial.Add(h3);
            iv.resumenTrabajoEfectuado = "El accidente no tuvo víctimas fatales, se procedió a limpiar los daños al automóvil involucrado";

            i[0] = iv;

            Intervencion iv2 = new Intervencion();

            iv2.id_intervencion = 2;
            iv2.estado_actual   = finalizada;
            iv2.dotaciones.Add(d1);
            iv2.dotaciones.Add(d2);
            iv2.encargado        = new Bombero();
            iv2.encargado.nombre = "Paez, Juan";
            iv2.gravedad         = media;
            iv2.tipo_siniestro   = res;
            HistorialDeIntervención h4 = new HistorialDeIntervención(new DateTime(2019, 9, 2, 16, 10, 0), creada);
            HistorialDeIntervención h5 = new HistorialDeIntervención(new DateTime(2019, 9, 2, 17, 20, 0), enCurso);
            HistorialDeIntervención h6 = new HistorialDeIntervención(new DateTime(2019, 9, 2, 17, 59, 0), finalizada);

            iv2.historial.Add(h4);
            iv2.historial.Add(h5);
            iv2.historial.Add(h6);
            iv2.resumenTrabajoEfectuado = "Hubo un retraso hasta que los bomberos se pudieron presentar al cuartel, debido al temblor que atascó el tráfico, luego de eso," +
                                          "se pudo realizar el rescate del edificio.";

            i[1] = iv2;

            Intervencion iv3 = new Intervencion();

            iv3.id_intervencion = 3;
            iv3.estado_actual   = finalizada;
            iv3.dotaciones.Add(d1);
            iv3.encargado        = new Bombero();
            iv3.encargado.nombre = "Esquivel, Ana María";
            iv3.gravedad         = baja;
            iv3.tipo_siniestro   = ev;
            HistorialDeIntervención h7  = new HistorialDeIntervención(new DateTime(2019, 9, 1, 19, 10, 0), creada);
            HistorialDeIntervención h8  = new HistorialDeIntervención(new DateTime(2019, 9, 1, 19, 40, 0), enCurso);
            HistorialDeIntervención h9  = new HistorialDeIntervención(new DateTime(2019, 9, 1, 20, 20, 0), finalizada);
            HistorialDeIntervención h10 = new HistorialDeIntervención(new DateTime(2019, 9, 1, 20, 21, 0), firmada);

            iv3.historial.Add(h7);
            iv3.historial.Add(h8);
            iv3.historial.Add(h9);
            iv3.historial.Add(h10);
            iv3.resumenTrabajoEfectuado = "No hubo problemas en evacuar al personal de la escuela y biblioteca ";

            i[2] = iv3;

            Intervencion iv4 = new Intervencion();

            iv4.id_intervencion = 4;
            iv4.estado_actual   = abortada;
            iv4.dotaciones.Add(d1);
            iv4.dotaciones.Add(d2);
            iv4.dotaciones.Add(d3);
            iv4.dotaciones.Add(d4);
            iv4.dotaciones.Add(d5);
            iv4.encargado        = new Bombero();
            iv4.encargado.nombre = "Urdipalleta, Ghael";
            iv4.gravedad         = alta;
            iv4.tipo_siniestro   = incendio;
            HistorialDeIntervención h11 = new HistorialDeIntervención(new DateTime(2019, 10, 2, 1, 10, 0), creada);
            HistorialDeIntervención h12 = new HistorialDeIntervención(new DateTime(2019, 10, 2, 1, 40, 0), enCurso);
            HistorialDeIntervención h13 = new HistorialDeIntervención(new DateTime(2019, 10, 2, 1, 45, 0), abortada);

            iv4.historial.Add(h11);
            iv4.historial.Add(h12);
            iv4.historial.Add(h13);
            iv4.resumenTrabajoEfectuado = "Ningún trabajo fue efectuado";

            i[3] = iv4;

            Intervencion iv5 = new Intervencion();

            iv5.id_intervencion = 5;
            iv5.estado_actual   = firmada;
            iv5.dotaciones.Add(d1);
            iv5.dotaciones.Add(d2);
            iv5.dotaciones.Add(d3);
            iv5.dotaciones.Add(d4);
            iv5.encargado        = new Bombero();
            iv5.encargado.nombre = "Ludueña, María";
            iv5.gravedad         = alta;
            iv5.tipo_siniestro   = acc;
            HistorialDeIntervención h14 = new HistorialDeIntervención(new DateTime(2019, 9, 10, 10, 28, 0), creada);
            HistorialDeIntervención h15 = new HistorialDeIntervención(new DateTime(2019, 9, 10, 10, 38, 0), enCurso);
            HistorialDeIntervención h16 = new HistorialDeIntervención(new DateTime(2019, 9, 10, 18, 0, 0), finalizada);
            HistorialDeIntervención h17 = new HistorialDeIntervención(new DateTime(2019, 9, 10, 18, 30, 0), firmada);

            iv5.historial.Add(h14);
            iv5.historial.Add(h15);
            iv5.historial.Add(h16);
            iv5.historial.Add(h17);
            iv5.resumenTrabajoEfectuado = "El trabajo fue complicado, se contaba con 4 dotaciones, las cuales fueron divididas " +
                                          "según que iba a hacer cada una. Las primeras dos, evacuaron y auxiliaron a los heridos, y las otras dos apagaron el incendio generado" +
                                          " por el choque.";

            i[4] = iv5;

            Intervencion iv6 = new Intervencion();

            iv6.id_intervencion = 6;
            iv6.estado_actual   = firmada;
            iv6.dotaciones.Add(d1);
            iv6.dotaciones.Add(d2);
            iv6.encargado        = new Bombero();
            iv6.encargado.nombre = "Esquivel, Ana María";
            iv6.gravedad         = baja;
            iv6.tipo_siniestro   = incendio;
            HistorialDeIntervención h18 = new HistorialDeIntervención(new DateTime(2019, 9, 15, 22, 10, 0), creada);
            HistorialDeIntervención h19 = new HistorialDeIntervención(new DateTime(2019, 9, 15, 22, 40, 0), enCurso);
            HistorialDeIntervención h20 = new HistorialDeIntervención(new DateTime(2019, 9, 15, 23, 1, 0), finalizada);
            HistorialDeIntervención h21 = new HistorialDeIntervención(new DateTime(2019, 9, 15, 23, 5, 0), firmada);

            iv6.historial.Add(h18);
            iv6.historial.Add(h19);
            iv6.historial.Add(h20);
            iv6.historial.Add(h21);
            iv6.resumenTrabajoEfectuado = "El incendio fue controlado sin mayores dificultades.";

            i[5] = iv6;

            Intervencion iv7 = new Intervencion();

            iv7.id_intervencion = 7;
            iv7.estado_actual   = finalizada;
            iv7.dotaciones.Add(d1);
            iv7.encargado        = new Bombero();
            iv7.encargado.nombre = "Esquivel, Ana María";
            iv7.gravedad         = media;
            iv7.tipo_siniestro   = res;
            HistorialDeIntervención h22 = new HistorialDeIntervención(new DateTime(2019, 9, 28, 6, 10, 0), creada);
            HistorialDeIntervención h23 = new HistorialDeIntervención(new DateTime(2019, 9, 28, 6, 12, 0), enCurso);
            HistorialDeIntervención h24 = new HistorialDeIntervención(new DateTime(2019, 9, 28, 6, 59, 0), finalizada);

            iv7.historial.Add(h22);
            iv7.historial.Add(h23);
            iv7.historial.Add(h24);
            iv7.resumenTrabajoEfectuado = "Los pasajeros a bordo del ascensor atascado fueron rescatados con éxito.";

            i[6] = iv7;

            Intervencion iv8 = new Intervencion();

            iv8.id_intervencion = 8;
            iv8.estado_actual   = creada;
            iv8.dotaciones.Add(d1);
            iv8.dotaciones.Add(d2);
            iv8.encargado        = new Bombero();
            iv8.encargado.nombre = "Perez, Juan";
            iv8.gravedad         = alta;
            iv8.tipo_siniestro   = res;
            iv8.historial.Add(new HistorialDeIntervención(new DateTime(2019, 10, 1, 9, 19, 0), creada));
            iv8.resumenTrabajoEfectuado = "";

            i[7] = iv8;

            Intervencion iv9 = new Intervencion();

            iv9.id_intervencion = 9;
            iv9.estado_actual   = firmada;
            iv9.dotaciones.Add(d1);
            iv9.dotaciones.Add(d2);
            iv9.encargado        = new Bombero();
            iv9.encargado.nombre = "Ludueña, María";
            iv9.gravedad         = media;
            iv9.tipo_siniestro   = ev;
            HistorialDeIntervención h25 = new HistorialDeIntervención(new DateTime(2019, 10, 9, 22, 0, 0), creada);
            HistorialDeIntervención h26 = new HistorialDeIntervención(new DateTime(2019, 10, 9, 23, 0, 0), enCurso);
            HistorialDeIntervención h27 = new HistorialDeIntervención(new DateTime(2019, 10, 10, 0, 50, 0), finalizada);
            HistorialDeIntervención h28 = new HistorialDeIntervención(new DateTime(2019, 10, 10, 0, 55, 0), firmada);

            iv9.historial.Add(h25);
            iv9.historial.Add(h26);
            iv9.historial.Add(h27);
            iv9.historial.Add(h28);
            iv9.resumenTrabajoEfectuado = "Pese al horario, la evacuación fue ruidosa y lenta, pero se logro hacer sin heridos";



            i[8] = iv9;

            Intervencion iv10 = new Intervencion();

            iv10.id_intervencion = 10;
            iv10.estado_actual   = finalizada;
            iv10.dotaciones.Add(d1);
            iv10.encargado        = new Bombero();
            iv10.encargado.nombre = "Perez, Ramiro";
            iv10.gravedad         = baja;
            iv10.tipo_siniestro   = res;
            HistorialDeIntervención h29 = new HistorialDeIntervención(new DateTime(2019, 11, 11, 13, 20, 0), creada);
            HistorialDeIntervención h30 = new HistorialDeIntervención(new DateTime(2019, 11, 11, 13, 45, 0), enCurso);
            HistorialDeIntervención h31 = new HistorialDeIntervención(new DateTime(2019, 11, 11, 14, 50, 0), finalizada);

            iv10.historial.Add(h29);
            iv10.historial.Add(h30);
            iv10.historial.Add(h31);
            iv10.resumenTrabajoEfectuado = "El domicilio de destino era muy lejos, se perdió más tiempo en viaje que realizando el rescate del gato en el arbol";



            i[9] = iv10;

            Intervencion iv11 = new Intervencion();

            iv11.id_intervencion = 11;
            iv11.estado_actual   = finalizada;
            iv11.dotaciones.Add(d1);
            iv11.encargado        = new Bombero();
            iv11.encargado.nombre = "Macri, Mauricio";
            iv11.gravedad         = baja;
            iv11.tipo_siniestro   = res;
            HistorialDeIntervención h32 = new HistorialDeIntervención(new DateTime(2019, 10, 14, 17, 20, 0), creada);
            HistorialDeIntervención h33 = new HistorialDeIntervención(new DateTime(2019, 10, 14, 18, 10, 0), enCurso);
            HistorialDeIntervención h34 = new HistorialDeIntervención(new DateTime(2019, 10, 14, 19, 0, 0), finalizada);
            HistorialDeIntervención h35 = new HistorialDeIntervención(new DateTime(2019, 10, 14, 19, 5, 0), firmada);

            iv11.historial.Add(h32);
            iv11.historial.Add(h33);
            iv11.historial.Add(h34);
            iv11.historial.Add(h35);
            iv11.resumenTrabajoEfectuado = "El domicilio de destino era muy lejos, se perdió más tiempo en viaje que realizando el rescate del gato en el arbol";



            i[10] = iv11;

            Intervencion iv12 = new Intervencion();

            iv12.id_intervencion = 12;
            iv12.estado_actual   = abortada;
            iv12.dotaciones.Add(d1);
            iv12.encargado        = new Bombero();
            iv12.encargado.nombre = "Malagueño, Ramiro";
            iv12.gravedad         = baja;
            iv12.tipo_siniestro   = ev;
            HistorialDeIntervención h36 = new HistorialDeIntervención(new DateTime(2019, 11, 5, 4, 10, 0), creada);
            HistorialDeIntervención h37 = new HistorialDeIntervención(new DateTime(2019, 11, 5, 4, 12, 0), enCurso);
            HistorialDeIntervención h38 = new HistorialDeIntervención(new DateTime(2019, 11, 5, 4, 20, 0), abortada);

            iv12.historial.Add(h36);
            iv12.historial.Add(h37);
            iv12.historial.Add(h38);
            iv12.resumenTrabajoEfectuado = "Ningún trabajo fue efectuado";

            i[11] = iv12;

            Intervencion iv13 = new Intervencion();

            iv13.id_intervencion = 13;
            iv13.estado_actual   = finalizada;
            iv13.dotaciones.Add(d1);
            iv13.dotaciones.Add(d2);
            iv13.dotaciones.Add(d3);
            iv13.dotaciones.Add(d4);
            iv13.encargado        = new Bombero();
            iv13.encargado.nombre = "Fey, Candelaria";
            iv13.gravedad         = alta;
            iv13.tipo_siniestro   = incendio;
            HistorialDeIntervención h39 = new HistorialDeIntervención(new DateTime(2019, 8, 3, 23, 10, 0), creada);
            HistorialDeIntervención h40 = new HistorialDeIntervención(new DateTime(2019, 9, 3, 23, 40, 0), enCurso);
            HistorialDeIntervención h41 = new HistorialDeIntervención(new DateTime(2019, 9, 4, 0, 10, 0), finalizada);

            iv13.historial.Add(h39);
            iv13.historial.Add(h40);
            iv13.historial.Add(h41);
            iv13.resumenTrabajoEfectuado = "Se disipó el incendio con la mayor eficiencia posible.";

            i[12] = iv13;



            return(i);
        }
コード例 #9
0
        public List <Intervencion> crearIntervenciones()
        {
            List <Dotacion> dotas = crearDotaciones();

            Intervencion inter1 = new Intervencion()
            {
                ID    = 1,
                calle = "calle 51",
                fechaHotaSolicitud         = DateTime.Today,
                resumenSiniestroInformante = "Incendio",
                dotaciones   = dotas,
                estadoActual = new EnCurso()
            };

            Intervencion inter2 = new Intervencion()
            {
                ID    = 2,
                calle = "calle 61",
                fechaHotaSolicitud         = DateTime.Today,
                resumenSiniestroInformante = "Accidente de transito",
                dotaciones   = dotas,
                estadoActual = new EnCurso()
            };

            Intervencion inter3 = new Intervencion()
            {
                ID    = 3,
                calle = "calle 38",
                fechaHotaSolicitud         = DateTime.Today,
                resumenSiniestroInformante = "Gatito en el arbol",
                dotaciones   = dotas,
                estadoActual = new EnCurso()
            };

            Intervencion inter4 = new Intervencion()
            {
                ID    = 4,
                calle = "calle 12",
                fechaHotaSolicitud         = DateTime.Today,
                resumenSiniestroInformante = "Personas atrapadas en ascensor",
                dotaciones   = dotas,
                estadoActual = new EnCurso()
            };

            Intervencion inter5 = new Intervencion()
            {
                ID    = 5,
                calle = "New York",
                fechaHotaSolicitud         = DateTime.Today,
                resumenSiniestroInformante = "Esta aterrizando una nave de Thanos",
                dotaciones   = dotas,
                estadoActual = new EnCurso()
            };

            Intervencion inter6 = new Intervencion()
            {
                ID    = 6,
                calle = "Barrio Jardin",
                fechaHotaSolicitud         = DateTime.Today,
                resumenSiniestroInformante = "Accidente de transito",
                dotaciones   = dotas,
                estadoActual = new EnCurso()
            };

            Intervencion inter7 = new Intervencion()
            {
                ID    = 7,
                calle = "Av. Simpre Viva",
                fechaHotaSolicitud         = DateTime.Today,
                resumenSiniestroInformante = "Incendio",
                dotaciones   = dotas,
                estadoActual = new EnCurso()
            };

            Intervencion inter8 = new Intervencion()
            {
                ID    = 8,
                calle = "Nueva Cordoba",
                fechaHotaSolicitud         = DateTime.Today,
                resumenSiniestroInformante = "Fuga de gas",
                dotaciones   = dotas,
                estadoActual = new EnCurso()
            };

            List <Intervencion> inters = new List <Intervencion>();

            inters.Add(inter1);
            inters.Add(inter2);
            inters.Add(inter3);
            inters.Add(inter4);
            inters.Add(inter5);
            inters.Add(inter6);
            inters.Add(inter7);
            inters.Add(inter8);

            return(inters);
        }
コード例 #10
0
 public void registrarFinalizacion(Intervencion inter, List <float> km, List <DateTime> fechaActual)
 {
     inter.finalizar(inter, km, fechaActual);
 }
コード例 #11
0
        public ActionResult Guardar()
        {
            var Meses = new string[12]
            {
                "Enero",
                "Febrero",
                "Marzo",
                "Abril",
                "Mayo",
                "Junio",
                "Julio",
                "Agosto",
                "Septiembre",
                "Octubre",
                "Noviembre",
                "Diciembre"
            };

            int             periodo         = (int)Session["Periodo"];
            int             mes             = (int)Session["Mes"];
            Proyecto        proyecto        = (Proyecto)Session["Proyecto"];
            CuentaCorriente cuentaCorriente = (CuentaCorriente)Session["CuentaCorriente"];
            Persona         persona         = (Persona)Session["Persona"];
            int             intervenciones  = 0;
            int             indemnizacion   = 0;

            try
            {
                if (Request.Form["Intervenciones"] == null || Request.Form["Intervenciones"].ToString().Equals(""))
                {
                    throw new Exception("Debe ingresar el número de intervenciones correspondientes al período.");
                }

                intervenciones = Int32.Parse(Request.Form["Intervenciones"].ToString());
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
                //@ViewBag.Mensaje = utils.mensajeError("Debe ingresar las intervenciones correspondientes al período.");
                //return View();
            }

            try
            {
                indemnizacion = Int32.Parse(Request.Form["Indemnizacion"].ToString());
            }
            catch (Exception)
            {
                indemnizacion = 0;
            }

            // Guardamos interveciones
            Intervencion intervencion = new Intervencion();

            intervencion.Mes        = mes;
            intervencion.Periodo    = periodo;
            intervencion.ProyectoID = proyecto.ID;
            intervencion.Cobertura  = proyecto.Convenio.NroPlazas;
            intervencion.Atenciones = intervenciones;

            try
            {
                if (ModelState.IsValid)
                {
                    db.Intervencion.Add(intervencion);
                    db.SaveChanges();
                }
                else
                {
                    throw new Exception("ModelState no válido.");
                }
            }
            catch (Exception e)
            {
                //throw new Exception(e.StackTrace);
                @ViewBag.Mensaje = utils.mensajeError(utils.Mensaje(e));
                return(View());
            }

            int prox_mes     = mes;
            int prox_periodo = periodo;

            if (mes == 12)
            {
                prox_periodo++;
                prox_mes = 1;
            }
            else
            {
                prox_mes++;
            }

            try
            {
                // Actualizamos convenio para proximo mes
                //Response.Write("actualizando convenio/");
                //Response.Write("mes: " + mes + ", periodo:" + periodo + "/proxm:" + prox_mes+",prox_pe:" + prox_periodo);
                //Convenio Convenio = db.Convenio.Where(c => c.ProyectoID == proyecto.ID && c.Mes == mes && c.Periodo == periodo).Single();
                //if (Convenio.Periodo != prox_periodo && Convenio.Mes != prox_mes)
                //{
                Proyecto Proyecto = db.Proyecto.Find(proyecto.ID);

                //Convenio = null;
                Convenio Convenio = new Convenio();

                Convenio.ResEx        = proyecto.Convenio.ResEx;
                Convenio.NroPlazas    = proyecto.Convenio.NroPlazas;
                Convenio.Comentarios  = proyecto.Convenio.Comentarios;
                Convenio.ProyectoID   = proyecto.ID;
                Convenio.Periodo      = prox_periodo;
                Convenio.Mes          = prox_mes;
                Convenio.FechaInicio  = proyecto.Convenio.FechaInicio;
                Convenio.FechaTermino = proyecto.Convenio.FechaTermino;
                db.Convenio.Add(Convenio);
                db.SaveChanges();

                Proyecto.Convenio        = null;
                Proyecto.ConvenioID      = Convenio.ID;
                db.Entry(Proyecto).State = EntityState.Modified;
                db.SaveChanges();

                Session.Remove("Proyecto");
                Session.Add("Proyecto", Proyecto);

                //Response.Write("convenio actualizado");
                //}
            }
            catch (Exception e)
            {
                //throw new Exception(e.StackTrace);
                @ViewBag.Mensaje = utils.mensajeError(utils.Mensaje(e));
                return(View());
            }

            // Cerramos movimientos del período
            int suma_ingresos = 0;
            int suma_egresos  = 0;

            try
            {
                //List<Movimiento> movimientos = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == proyecto.ID).ToList();

                //List<Movimiento> ingresos = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == proyecto.ID).ToList();
                //List<Movimiento> egresos = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == proyecto.ID).ToList();

                List <Movimiento> ingresos = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == proyecto.ID).Where(m => m.TipoComprobanteID != ctes.tipoEgreso).Where(m => m.Nulo == null && m.CuentaID != 1 && m.Eliminado == null && m.Temporal == null).ToList();
                List <Movimiento> egresos  = db.Movimiento.Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Where(m => m.ProyectoID == proyecto.ID).Where(m => m.TipoComprobanteID == ctes.tipoEgreso).Where(m => m.Nulo == null && m.Temporal == null && m.Eliminado == null && ((m.CuentaID != 6 || m.CuentaID == null) || m.CuentaID == null)).ToList();

                suma_ingresos = ingresos.Sum(m => m.Monto_Ingresos);
                suma_egresos  = egresos.Sum(m => m.Monto_Egresos);

                foreach (Movimiento movimiento in ingresos)
                {
                    movimiento.Cerrado = "S";
                    if (ModelState.IsValid)
                    {
                        db.Entry(movimiento).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    else
                    {
                        throw new Exception("ModelState no válido. (" + movimiento.ID + ")");
                    }
                }

                foreach (Movimiento movimiento in egresos)
                {
                    movimiento.Cerrado = "S";
                    if (ModelState.IsValid)
                    {
                        db.Entry(movimiento).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    else
                    {
                        throw new Exception("ModelState no válido. (" + movimiento.ID + ")");
                    }
                }
            }
            catch (Exception e)
            {
                @ViewBag.Mensaje = utils.mensajeError(utils.Mensaje(e));
                return(View());
                //throw new Exception(e.StackTrace);
            }

            // Cerramos el periodo
            Periodo periodo_cierre = new Periodo();

            periodo_cierre.Mes           = mes;
            periodo_cierre.Ano           = periodo;
            periodo_cierre.ProyectoID    = proyecto.ID;
            periodo_cierre.Indemnizacion = indemnizacion;
            periodo_cierre.Fecha         = DateTime.Now;
            periodo_cierre.PersonaID     = persona.ID;

            try
            {
                if (ModelState.IsValid)
                {
                    db.Periodo.Add(periodo_cierre);
                    db.SaveChanges();

                    if (mes == 12)
                    {
                        Session.Add("Mes", 1);
                        Session.Add("Periodo", periodo + 1);
                    }
                    else
                    {
                        Session.Add("Mes", mes + 1);
                        Session.Add("Periodo", periodo);
                    }

                    Session.Add("Fecha", Meses[(int)Session["Mes"] - 1] + " " + Session["Periodo"].ToString());
                    //Session.Add("InformacionPie", proyecto.NombreLista + " (" + cuentaCorriente.NumeroLista + ") | " + persona.NombreCompleto + " | " + Session["Fecha"].ToString());

                    Usuario usuario = (Usuario)Session["Usuario"];
                    Persona Persona = (Persona)Session["Persona"];

                    if (usuario.esAdministrador)
                    {
                        Session.Add("InformacionPie", proyecto.NombreLista + " (" + cuentaCorriente.NumeroLista + ") | " + Persona.NombreCompleto + " | " + Session["Fecha"].ToString() + " | ProyectoID: " + proyecto.ID + " CtaCteID: " + cuentaCorriente.ID + " PersonaID: " + Persona.ID);
                    }
                    else
                    {
                        Session.Add("InformacionPie", proyecto.NombreLista + " (" + cuentaCorriente.NumeroLista + ") | " + Persona.NombreCompleto + " | " + Session["Fecha"].ToString());
                    }
                }
            }
            catch (Exception e)
            {
                //@ViewBag.Mensaje = utils.mensajeError(e.Message);
                //return View();
                throw new Exception(e.StackTrace);
            }

            try
            {
                Saldo saldoOriginal = db.Saldo.Where(m => m.CuentaCorrienteID == cuentaCorriente.ID).Where(m => m.Periodo == periodo).Where(m => m.Mes == mes).Single();
                //int saldoFinal = saldoOriginal.SaldoInicialCartola + suma_ingresos - suma_egresos - indemnizacion;
                int saldoFinal = saldoOriginal.SaldoInicialCartola + suma_ingresos - suma_egresos;
                //saldoOriginal.SaldoFinalCartola = saldoFinal;
                saldoOriginal.SaldoFinal      = saldoFinal;
                db.Entry(saldoOriginal).State = EntityState.Modified;
                db.SaveChanges();

                // ----

                Saldo saldo = new Saldo();
                saldo.CuentaCorrienteID = cuentaCorriente.ID;
                saldo.Mes                 = Int32.Parse(Session["Mes"].ToString());
                saldo.Periodo             = Int32.Parse(Session["Periodo"].ToString());
                saldo.SaldoInicialCartola = saldoFinal;
                saldo.SaldoFinal          = saldoFinal;
                //saldo.SaldoFinalCartola = saldoFinal;

                db.Saldo.Add(saldo);
                db.SaveChanges();
            }
            catch (Exception)
            {}

            @ViewBag.Mensaje = utils.mensajeOK("Rendición de cuentas generada con éxito.");
            return(View());
            //return RedirectToAction("Index");
        }