private void Llenar_GVDESIGNADO()
        {
            DB_EXT_DesignacionOrg ListDesOrg = new DB_EXT_DesignacionOrg();

            GVDesignado.DataSource = ListDesOrg.DB_Seleccionar_DESIGNACION_ORG(Convert.ToInt32(LblIdReg.Text), Convert.ToInt32(LblIdCamp.Text), "", LblPrograma.Text, "REP_LISTASIGNADOS");
            GVDesignado.DataBind();
        }
Beispiel #2
0
        private void Llenar_GVDESIGNADO()
        {
            DB_EXT_DesignacionOrg ListDesOrg = new DB_EXT_DesignacionOrg();

            GVLisOrg.DataSource = ListDesOrg.DB_Seleccionar_DESIGNACION_ORG(Convert.ToInt32(DDLRegional.SelectedValue), Convert.ToInt32(DDLCamp.SelectedValue), LblIdUsuario.Text, DDLProg.SelectedValue, "LISTADOCUMENTOS");
            GVLisOrg.DataBind();
        }
Beispiel #3
0
        protected void Obtener_Numero_ORG_PROD()
        {
            DB_EXT_DesignacionOrg des = new DB_EXT_DesignacionOrg();
            DataTable             dt  = new DataTable();

            dt              = des.DB_Obtener_Numero_ORG_PROD(Convert.ToInt32(DDLCamp.SelectedValue), DDLPrograma.SelectedValue, Convert.ToInt32(DDLRegional.SelectedValue), "NUM_ORG");
            LblNumOrg.Text  = dt.Rows[0][0].ToString();
            dt              = des.DB_Obtener_Numero_ORG_PROD(Convert.ToInt32(DDLCamp.SelectedValue), DDLPrograma.SelectedValue, Convert.ToInt32(DDLRegional.SelectedValue), "NUM_PROD");
            LblNumProd.Text = dt.Rows[0][0].ToString();
        }
        protected void GVCampEmapa_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            DataTable             dt          = new DataTable();
            DB_EXT_DesignacionOrg ListDesOrg  = new DB_EXT_DesignacionOrg();
            DB_RegionesApoyadas   ListRegCamp = new DB_RegionesApoyadas();
            string tipo     = Convert.ToString(e.CommandName);
            int    rowIndex = Convert.ToInt32(e.CommandArgument);

            GVCampEmapa.Columns[6].Visible = true;
            Desplegar_CAMP_APOYADAS();
            Session.Add("Prog", GVCampEmapa.Rows[rowIndex].Cells[1].Text);
            Session.Add("IdCamp", DDLCamp.SelectedValue);
            Session.Add("IdReg", GVCampEmapa.Rows[rowIndex].Cells[6].Text);
            StringBuilder sbMensaje = new StringBuilder();

            switch (tipo)
            {
            case "Designacion":

                dt = ListDesOrg.DB_Seleccionar_DESIGNACION_ORG(Convert.ToInt32(GVCampEmapa.Rows[rowIndex].Cells[6].Text), Convert.ToInt32(DDLCamp.SelectedValue), "", GVCampEmapa.Rows[rowIndex].Cells[1].Text, "REP_LISTASIGNADOS");
                if (dt.Rows.Count > 0)
                {
                    sbMensaje.Append("<script type='text/javascript'>");
                    sbMensaje.AppendFormat("window.open('{0}','Titulo','top=0,left=0,width=800,height=400,scrollbars=yes,resizable=no,directories=no,location=no,menubar=no,status=no,Titlebar=yes,toolbar=no');", "../Extensiones/repDesignacionOrgTPE.aspx?ci=" + GVCampEmapa.Rows[rowIndex].Cells[1].Text);
                    sbMensaje.Append("</script>");
                    ClientScript.RegisterClientScriptBlock(this.GetType(), "Mensaje", sbMensaje.ToString());
                }
                else
                {
                    Response.Write("<script>window.alert('No se registró la designación de técnicos de producción, en la regional.');</script>");
                }
                break;

            case "Cronograna":

                ///////////// dt = ListRegCamp.DB_Desplegar_CAMP_APOYADAS("", GVCampEmapa.Rows[rowIndex].Cells[1].Text, Convert.ToInt32(DDLCamp.SelectedValue), Convert.ToInt32(DDLRegional.SelectedValue), "ID_CRONOGRAMA");
                dt = ListRegCamp.DB_Desplegar_CAMP_APOYADAS("", GVCampEmapa.Rows[rowIndex].Cells[1].Text, Convert.ToInt32(DDLCamp.SelectedValue), Convert.ToInt32(GVCampEmapa.Rows[rowIndex].Cells[6].Text), "ID_CRONOGRAMA");

                if (dt.Rows.Count != 0)
                {
                    Session.Add("IdCrono", dt.Rows[0][0].ToString());
                    sbMensaje.Append("<script type='text/javascript'>");
                    sbMensaje.AppendFormat("window.open('{0}','Titulo','top=0,left=0,width=800,height=400,scrollbars=yes,resizable=no,directories=no,location=no,menubar=no,status=no,Titlebar=yes,toolbar=no');", "../Control/repCronogramaTec.aspx?ci=" + GVCampEmapa.Rows[rowIndex].Cells[1].Text);
                    sbMensaje.Append("</script>");
                    ClientScript.RegisterClientScriptBlock(this.GetType(), "Mensaje", sbMensaje.ToString());
                }
                else
                {
                    Response.Write("<script>window.alert('NO se registró un cronograma para la campaña y programa correspondiente.');</script>");
                }
                break;
            }
            GVCampEmapa.Columns[6].Visible = false;
            Desplegar_CAMP_APOYADAS();
        }
        protected void Llenar_ORGANIZACIONES_DESIGNADAS()
        {
            DB_EXT_DesignacionOrg desigorg = new DB_EXT_DesignacionOrg();
            DataTable             dt       = new DataTable();

            dt = desigorg.DB_Seleccionar_DESIGNACION_ORG(Convert.ToInt32(LblIdReg.Text), Convert.ToInt32(LblIdCamp.Text), LblIdUsuario.Text, DDLPrograma.SelectedValue, "MUESTRA_PROD");
            DDLOrgAsig.DataSource     = dt;
            DDLOrgAsig.DataValueField = "Id_InscripcionOrg";
            DDLOrgAsig.DataTextField  = "Personeria_Juridica";
            DDLOrgAsig.DataBind();
        }
        private void Actualizar_DESIGNACION_ESTADO()
        {
            GVDesignado.Columns[9].Visible  = true;
            GVDesignado.Columns[10].Visible = true;
            Llenar_GVDESIGNADO();
            DB_EXT_DesignacionOrg ListDesOrg = new DB_EXT_DesignacionOrg();

            foreach (GridViewRow dgi in GVDesignado.Rows)
            {
                ListDesOrg.DB_Actualizar_NUM_PROD(Convert.ToInt32(GVDesignado.Rows[dgi.RowIndex].Cells[10].Text), 0, GVDesignado.Rows[dgi.RowIndex].Cells[9].Text, "ASIGNADO", "MODIF_MUESTRA_PROD");
            }
            GVDesignado.Columns[9].Visible  = false;
            GVDesignado.Columns[10].Visible = false;
            Llenar_GVDESIGNADO();
        }
        protected void GVDesignado_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            DB_EXT_DesignacionOrg d = new DB_EXT_DesignacionOrg();
            string tipo             = Convert.ToString(e.CommandName);
            int    rowIndex         = Convert.ToInt32(e.CommandArgument);

            GVDesignado.Columns[9].Visible  = true;
            GVDesignado.Columns[10].Visible = true;
            Llenar_GVDESIGNADO();
            switch (tipo)
            {
            case "Eliminar":
                d.DB_Eliminar_DESIGNACION_ORG(GVDesignado.Rows[rowIndex].Cells[9].Text, Convert.ToInt32(GVDesignado.Rows[rowIndex].Cells[10].Text));
                break;
            }
            GVDesignado.Columns[9].Visible  = false;
            GVDesignado.Columns[10].Visible = false;
            Llenar_GVDESIGNADO();
        }
        protected void BtnDesignar_Click(object sender, EventArgs e)
        {
            int aux = 0;

            if (LblTecnico.Text != "")
            {
                EXT_DesignacionOrg    DsOrg = new EXT_DesignacionOrg();
                DB_EXT_DesignacionOrg ins   = new DB_EXT_DesignacionOrg();
                CheckBox myCheckBox         = new CheckBox();
                foreach (GridViewRow dgi in GVOrg.Rows)
                {
                    myCheckBox = (CheckBox)dgi.Cells[8].Controls[1];
                    if (myCheckBox.Checked == true)
                    {
                        GVOrg.Columns[0].Visible = true;
                        Llenar_GVORG_REG_CAMP();
                        DsOrg.Id_Usuario         = DDLTecnicos.SelectedValue;
                        DsOrg.Id_InscripcionOrg  = Convert.ToInt32(GVOrg.Rows[dgi.RowIndex].Cells[0].Text);
                        GVOrg.Columns[0].Visible = false;
                        Llenar_GVORG_REG_CAMP();
                        DsOrg.Num_Productores = 0;
                        DsOrg.Superficie      = Convert.ToDecimal(GVOrg.Rows[dgi.RowIndex].Cells[7].Text);
                        DsOrg.Estado          = "SELECCIONADO";
                        ins.DA_Registrar_DESIGNACION_ORG(DsOrg);
                        aux = 1;
                    }
                }
                if (aux == 0)
                {
                    LblMsj.Text = "Debe seleccionar una organización para designar  al técnico";
                }
                else
                {
                    LblMsj.Text = string.Empty;
                }
            }
            else
            {
                LblMsj.Text = "Debe seleccionar un técnico para continuar";
            }
            Llenar_GVDESIGNADO();
        }
        /// <summary>
        /// Seleccion Aleatoria de Productores a Tecnicos, solo la promera vez
        /// </summary>
        private void Random()
        {
            //List<int> numeros = new List<int>();
            //Random rnumero = new Random();
            //while (numeros.Count<12)// 20
            //{
            //    int num = rnumero.Next(1, 30); //números aleatorios entre 1 y 30
            //    if (!numeros.Any(x => x == num))// verificamos números repetidos
            //    {
            //        numeros.Add(num);
            //    }
            //}
            DataTable dtAll = new DataTable();

            dtAll.Columns.Add("Personeria_Juridica");
            dtAll.Columns.Add("Productor");
            dtAll.Columns.Add("ci");
            dtAll.Columns.Add("Comunidad");
            dtAll.Columns.Add("Municipio");
            dtAll.Columns.Add("Provincia");
            dtAll.Columns.Add("Tipo_Produccion");
            dtAll.Columns.Add("Has_Inscrito");
            dtAll.Columns.Add("Id_Productor");
            dtAll.Columns.Add("Id_Usuario");
            dtAll.Columns.Add("Estado");
            //0 muestra de tecnico
            DB_EXT_DesignacionOrg ListDesOrg = new DB_EXT_DesignacionOrg();
            DataTable             dt0        = new DataTable();

            dt0 = ListDesOrg.DB_Seleccionar_DESIGNACION_PROD_ORG_CONSULTAS(Convert.ToInt32(LblIdReg.Text), Convert.ToInt32(LblIdCamp.Text), LblIdUsuario.Text, DDLPrograma.SelectedValue);
            if (dt0.Rows.Count > 0)
            {
                //LblMsj.Text = "Productores Seleccionados, segun la muestra valida";
                //LblMaximo.Text = "20";
                var dtaux = dt0.AsEnumerable().Where(x => x.Field <string>("Id_Usuario") == LblIdUsuario.Text).ToList();
                int count = dtaux.Count;
                //LblContador.Text = Convert.ToString(count);
                //Contador = Convert.ToString(count);
                if (count == 0)
                {
                    //1 organizacion segun programa
                    DB_EXT_DesignacionOrg  desigorg = new DB_EXT_DesignacionOrg();
                    DB_EXT_DesignacionProd ListDes  = new DB_EXT_DesignacionProd();
                    DataTable dt1 = new DataTable();
                    DataTable dt2 = new DataTable();
                    dt1 = desigorg.DB_Seleccionar_DESIGNACION_ORG(Convert.ToInt32(LblIdReg.Text), Convert.ToInt32(LblIdCamp.Text), LblIdUsuario.Text, DDLPrograma.SelectedValue, "MUESTRA_PROD");
                    //2 llenamos todos los productores de las organizaciones que tenga asignado el usuario
                    foreach (DataRow row in dt1.Rows)
                    {
                        string idOrg = row["Id_InscripcionOrg"].ToString();
                        dt2 = ListDes.DB_Desplegar_DESIGNACION_PROD(LblIdUsuario.Text, Convert.ToInt32(LblIdCamp.Text), Convert.ToInt32(LblIdReg.Text), DDLPrograma.SelectedValue, Convert.ToInt32(idOrg), "LIST_SELECCION");
                        foreach (DataRow row2 in dt2.Rows)
                        {
                            DataRow fila = dtAll.NewRow();
                            fila["Personeria_Juridica"] = row2["Personeria_Juridica"].ToString();
                            fila["Productor"]           = row2["Productor"].ToString();
                            fila["ci"]              = row2["ci"].ToString();
                            fila["Comunidad"]       = row2["Comunidad"].ToString();
                            fila["Municipio"]       = row2["Municipio"].ToString();
                            fila["Provincia"]       = row2["Provincia"].ToString();
                            fila["Tipo_Produccion"] = row2["Tipo_Produccion"].ToString();
                            fila["Has_Inscrito"]    = row2["Has_Inscrito"].ToString();
                            fila["Id_Productor"]    = row2["Id_Productor"].ToString();
                            fila["Id_Usuario"]      = row2["Id_Usuario"].ToString();
                            fila["Estado"]          = row2["Estado"].ToString();
                            dtAll.Rows.Add(fila);
                        }
                    }
                    int        total   = dtAll.Rows.Count;
                    List <int> numeros = new List <int>();
                    Random     rnumero = new Random();
                    int        cc      = 0;
                    while (numeros.Count < 20)            // se asigna maximo 20 productores por tecnico entre todas sus organizaciones asignadas
                    {
                        int num = rnumero.Next(1, total); //números aleatorios entre 1 y 30
                        if (!numeros.Any(x => x == num))  // verificamos números repetidos
                        {
                            numeros.Add(num);
                            cc++;
                            int     index  = num;
                            DataRow rowq   = dtAll.Rows[index];
                            string  iduser = rowq["Id_Usuario"].ToString();
                            if (iduser == string.Empty)
                            {
                                EXT_DesignacionProd ObjDesigprod = new EXT_DesignacionProd();
                                ObjDesigprod.Id_Usuario   = LblIdUsuario.Text;
                                ObjDesigprod.Id_Productor = rowq["Id_Productor"].ToString();
                                //ObjDesigprod.Estado = chec.Checked;
                                ObjDesigprod.Estado = true;
                                ObjDesigprod.Etapa  = "VERIFICACION_PARCELA";
                                if (ColDesigProductores.Count == 0)
                                {
                                    IList <EXT_DesignacionProd> Col = new List <EXT_DesignacionProd>();
                                    ColDesigProductores = Col;
                                }
                                EXT_DesignacionProd ObjDP = ColDesigProductores.Where(x => x.Id_Usuario == ObjDesigprod.Id_Usuario &&
                                                                                      x.Id_Productor == ObjDesigprod.Id_Productor &&
                                                                                      x.Etapa == ObjDesigprod.Etapa).SingleOrDefault();
                                if (ObjDP == null)
                                {
                                    ColDesigProductores.Add(ObjDesigprod);
                                }
                                else
                                {
                                    numeros.Remove(num);
                                }
                            }
                            else
                            {
                                numeros.Remove(num);
                            }
                        }
                    }
                    DB_EXT_DesignacionProd Ins = new DB_EXT_DesignacionProd();
                    foreach (EXT_DesignacionProd row in ColDesigProductores)
                    {
                        //si existe lo elimina sino lo crea
                        Ins.DB_Registrar_DESIGNACION_PROD(row);
                    }
                    Llenar_GVDESIGNADO();
                    Calcular_MUESTRA_TECNICO();//luis.rojas
                    ColDesigProductores = new List <EXT_DesignacionProd>();
                }
            }
        }
 private void Calcular_MUESTRA_TECNICO()
 {
     try
     {
         DB_EXT_DesignacionOrg ListDesOrg = new DB_EXT_DesignacionOrg();
         DataTable             dt         = new DataTable();
         //dt = ListDesOrg.DB_Seleccionar_DESIGNACION_ORG(0, 0,LblIdUsuario.Text, "", "MUESTRA_PROD");
         //if(dt.Rows.Count > 0)
         //{
         //    LblMaximo.Text = dt.Rows[0][3].ToString();
         //    LblMsj.Text = "Tiene: " + LblMaximo.Text + " productores o mas para seleccionar, segun la muestra valida";
         //}
         //else
         //{
         //    LblMaximo.Text = "0";
         //    LblMsj.Text = "Por el momento no se selecciono productores para su seguimiento";
         //}
         //**luis.rojas
         //lrojas: control cantidad de productores
         DB_AP_Registro_Org d_org       = new DB_AP_Registro_Org();
         DataTable          dt_dat_user = new DataTable();
         string             iduser      = Session["IdUser"].ToString();
         dt_dat_user = d_org.DB_Desplegar_USUARIO(iduser);
         string region          = dt_dat_user.Rows[0]["Region"].ToString();
         string maximopermitido = "";
         //foreach (DataRow fila in dt.Rows)
         //{
         //    region = fila["Region"].ToString();
         //}
         //NO controla cantidad de productores por eso se puso un valor alto para que las validaciones en CBXEstado_CheckedChanged no cambie
         if (region == "ORIENTE")
         {
             maximopermitido = "10000";
         }
         else//OCCIDENTE CONTROLA LOS 20 productores
         {
             maximopermitido = "20";
         }
         dt = ListDesOrg.DB_Seleccionar_DESIGNACION_PROD_ORG_CONSULTAS(Convert.ToInt32(LblIdReg.Text), Convert.ToInt32(LblIdCamp.Text), LblIdUsuario.Text, DDLPrograma.SelectedValue);
         if (dt.Rows.Count > 0)
         {
             LblMsj.Text = "Productores Seleccionados, segun la muestra valida";
             //LblMaximo.Text = "20";
             LblMaximo.Text = maximopermitido;
             //LblContador.Text = dt.Rows.Count.ToString();
             var dtaux = dt.AsEnumerable().Where(x => x.Field <string>("Id_Usuario") == LblIdUsuario.Text).ToList();
             int count = dtaux.Count;
             //foreach (DataRow dtRow in dt.Rows)
             //{
             //    if (dtRow["Id_Usuario"].ToString() == LblIdUsuario.Text)
             //    {
             //        count++;
             //    }
             //}
             LblContador.Text = Convert.ToString(count);
             Contador         = Convert.ToString(count);
         }
         else
         {
             LblContador.Text = "0";
             //LblMaximo.Text = "20";
             LblMaximo.Text = maximopermitido;
             LblMsj.Text    = "Por el momento no se selecciono productores para su seguimiento";
             //**
             //if (dt.Rows.Count == 0)
             //{
             //    Random();
             //}
             //**
         }
     }
     catch (Exception ex)
     {
         string script = @"<script type='text/javascript'>alert('{0}');</script>";
         script = string.Format(script, ex.Message);
         ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, false);
     }
 }