public CargarMonitoreo Agregar(Monitoreo monitoreo)
        {
            CargarMonitoreo cargarMonitoreo = null;

            conectar.Open();
            SqlCommand cm = new SqlCommand("INSERT INTO COM.MONITOREO (PLAG_ID, PER_ID, FIN_ID, MONI_FECHA, MONI_USUMODIFI, MONI_FECHAMODIFI) VALUES (@PLAG_ID, @PER_ID, @FIN_ID, @MONI_FECHA, SUSER_SNAME(), GETDATE())", conectar);

            cm.Parameters.AddWithValue("PLAG_ID", monitoreo.plag_id);
            cm.Parameters.AddWithValue("PER_ID", monitoreo.per_id);
            cm.Parameters.AddWithValue("FIN_ID", monitoreo.fin_id);
            cm.Parameters.AddWithValue("MONI_FECHA", monitoreo.moni_fecha);
            cm.ExecuteNonQuery();

            cm = new SqlCommand("SELECT TOP 1" +
                                " 'id' = MONI_ID, " +
                                " 'plaga_id' = PL.PLAG_ID, " +
                                " 'plaga_nombre' = PL.PLAG_NOM, " +
                                " 'plaga_descripcion' = PL.PLAG_DESC, " +
                                " 'per_id' = PE.PER_ID, " +
                                " 'per_nombres' = CONCAT(PE.PER_APELLIDO1, ' ', PE.PER_APELLIDO2, ' ', PE.PER_NOMBRE1, ' ', PE.PER_NOMBRE2), " +
                                " 'finca_id' = F.FIN_ID, " +
                                " 'finca_nombre' = F.FIN_DESC, " +
                                " 'vereda_id' = V.VER_ID, " +
                                " 'vereda_nombre' = V.VER_DESC, " +
                                " 'fecha' = CONVERT(VARCHAR(20), M.MONI_FECHA, 120), " +
                                " 'usuario' = M.MONI_USUMODIFI, " +
                                " 'fecha_creacion' = CONVERT(VARCHAR(20), M.MONI_FECHAMODIFI, 120) " +
                                " FROM COM.MONITOREO M " +
                                " INNER JOIN COM.PLAGA PL ON PL.PLAG_ID = M.PLAG_ID " +
                                " INNER JOIN COM.FINCA F ON F.FIN_ID = M.FIN_ID " +
                                " INNER JOIN COM.PERSONA PE ON PE.PER_ID = F.PER_ID " +
                                " INNER JOIN COM.VEREDA V ON V.VER_ID = F.VER_ID " +
                                " INNER JOIN COM.MUNICIPIO MU ON MU.MUN_ID = V.MUN_ID " +
                                " ORDER BY 1 DESC", conectar);
            DataSet        ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(cm);

            da.Fill(ds, "monitoreo");
            DataTable dt = ds.Tables[0];

            foreach (DataRow dr in dt.Rows)
            {
                cargarMonitoreo = ReturnMonitoreo(dr);
            }
            conectar.Close();
            return(cargarMonitoreo);
        }
        public CargarMonitoreo CargarPorId(int id)
        {
            CargarMonitoreo monitoreo = null;

            conectar.Open();
            SqlCommand cm = new SqlCommand("SELECT" +
                                           " 'id' = MONI_ID, " +
                                           " 'plaga_id' = PL.PLAG_ID, " +
                                           " 'plaga_nombre' = PL.PLAG_NOM, " +
                                           " 'plaga_descripcion' = PL.PLAG_DESC, " +
                                           " 'per_id' = PE.PER_ID, " +
                                           " 'per_nombres' = CONCAT(PE.PER_APELLIDO1, ' ', PE.PER_APELLIDO2, ' ', PE.PER_NOMBRE1, ' ', PE.PER_NOMBRE2), " +
                                           " 'finca_id' = F.FIN_ID, " +
                                           " 'finca_nombre' = F.FIN_DESC, " +
                                           " 'vereda_id' = V.VER_ID, " +
                                           " 'vereda_nombre' = V.VER_DESC, " +
                                           " 'fecha' = CONVERT(VARCHAR(20), M.MONI_FECHA, 120), " +
                                           " 'usuario' = M.MONI_USUMODIFI, " +
                                           " 'fecha_creacion' = CONVERT(VARCHAR(20), M.MONI_FECHAMODIFI, 120) " +
                                           " FROM COM.MONITOREO M " +
                                           " INNER JOIN COM.PLAGA PL ON PL.PLAG_ID = M.PLAG_ID " +
                                           " INNER JOIN COM.FINCA F ON F.FIN_ID = M.FIN_ID " +
                                           " INNER JOIN COM.PERSONA PE ON PE.PER_ID = F.PER_ID " +
                                           " INNER JOIN COM.VEREDA V ON V.VER_ID = F.VER_ID " +
                                           " INNER JOIN COM.MUNICIPIO MU ON MU.MUN_ID = V.MUN_ID " +
                                           " WHERE MONI_ID = " + id +
                                           " ORDER BY 1 DESC", conectar);
            DataSet        ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(cm);

            da.Fill(ds, "monitoreo");
            DataTable dt = ds.Tables[0];

            foreach (DataRow dr in dt.Rows)
            {
                monitoreo = ReturnMonitoreo(dr);
            }
            conectar.Close();
            return(monitoreo);
        }
        private CargarMonitoreo ReturnMonitoreo(DataRow dr)
        {
            CargarMonitoreo monitoreo;
            Plaga           plaga = new Plaga
            {
                id          = Convert.ToInt32(dr["plaga_id"]),
                nombre      = dr["plaga_nombre"].ToString(),
                descripcion = dr["plaga_descripcion"].ToString()
            };
            CargarFinca finca = new CargarFinca
            {
                id          = Convert.ToInt32(dr["finca_id"]),
                descripcion = dr["finca_nombre"].ToString(),
                persona     = new Persona
                {
                    id      = Convert.ToInt32(dr["per_id"]),
                    nombres = dr["per_nombres"].ToString()
                },
                vereda = new Vereda
                {
                    id          = Convert.ToInt32(dr["vereda_id"]),
                    descripcion = dr["vereda_nombre"].ToString()
                }
            };

            monitoreo = new CargarMonitoreo
            {
                id             = Convert.ToInt32(dr["id"]),
                plaga          = plaga,
                finca          = finca,
                moni_fecha     = dr["fecha"].ToString(),
                usuario        = dr["vereda_id"].ToString(),
                fecha_creacion = dr["fecha_creacion"].ToString()
            };
            return(monitoreo);
        }