Esempio n. 1
0
        public bool entregarPapeletas(String ini, String fin, String fec, String cip, String com, String tal, String cusu, int cant)
        {
            int    cont     = 0;
            String codrlTal = "";
            bool   fl       = InsertRelTalonario(ini, fin, fec, cip, com, tal, cusu, cant);

            if (fl)
            {
                Conexion.Open();
                cmd    = new SqlCommand("SELECT id_relTalonario FROM RelTalonario WHERE inicio='" + ini + "' AND fin='" + fin + "' ORDER BY id_RelTalonario DESC", Conexion.sqlConexion);
                reader = cmd.ExecuteReader();
                if (reader.Read())
                {
                    codrlTal = "" + (reader.GetInt64(0));
                }

                for (int i = 0; i < cant; i++)
                {
                    BDPapeleta pap = new BDPapeleta();
                    String     num = (int.Parse(ini) + i).ToString();
                    if (pap.asignarPapeleta(num, codrlTal))
                    {
                        cont++;
                    }
                }
            }
            Conexion.Close();
            return((fl && cont == cant)?true: false);
        }
Esempio n. 2
0
        public bool ReasignarTalonario(int cant, String ini, String fin, String fec, String efe, String com, String cusu)
        {
            int    cont = 0;
            bool   fl = false;
            String codreltal = null;
            String codTal = null;
            String fecreltal = "", cipreltal = "", comreltal = "", ofireltal = "";
            int    inireltal = 0, finreltal = 0, cantreltal = 0, devreltal = 0, usureltal = 0;

            Conexion.Open();
            cmd = new SqlCommand("SELECT id_relTalonario, inicio, fin, cantidad, devueltas, fecha_entrega, id_usuario, " +
                                 "cip, id_comisaria, numero_oficio FROM relTalonario WHERE inicio <= '" + ini +
                                 "' and fin >='" + ini + "' and inicio <= '" + fin + "' and fin >='" + fin + "'",
                                 Conexion.sqlConexion);
            reader = cmd.ExecuteReader();
            if (reader.Read())
            {
                codreltal  = "" + (reader.GetInt64(0));
                inireltal  = Convert.ToInt32(reader.GetString(1));
                finreltal  = Convert.ToInt32(reader.GetString(2));
                cantreltal = reader.GetInt32(3);
                devreltal  = reader.GetInt32(4);
                DateTime fechaRel1 = reader.GetDateTime(5);
                fecreltal = fechaRel1.Year + "/" + fechaRel1.Month + "/" + fechaRel1.Day;
                usureltal = reader.GetInt32(6);
                cipreltal = reader.GetString(7);
                comreltal = reader.GetString(8);
                //ofireltal = reader.GetString(9);
                int iniAsigTal = Convert.ToInt32(ini);
                int finAsigTal = Convert.ToInt32(fin);
                codTal = obtenerId(ini, fin);
                DataTable dt = new DataTable();
                if (iniAsigTal == inireltal && finAsigTal == finreltal)
                {
                    Conexion.Open();
                    cmd = new SqlCommand("UPDATE RelTalonario SET  ini='" + (inireltal + cant) + "', devueltas='" + 0 +
                                         "', faltantes='" + (cantreltal) + "', fecha_entrega='" + fec + "', id_usuario='" + cusu +
                                         "', cip='" + efe + "', id_comisaria='" + com + "' WHERE id_relTalonario='" + codreltal + "'",
                                         Conexion.sqlConexion);
                    fl = (cmd.ExecuteNonQuery() > 0) ? true : false;
                }
                if (iniAsigTal == inireltal && finAsigTal < finreltal)
                {
                    if (this.InsertRelTalonario(ini, fin, fec, efe, com, codTal, cusu, cant))
                    {
                        Conexion.Open();
                        cmd = new SqlCommand("UPDATE RelTalonario SET  inicio='" + (inireltal + cant) + "', cantidad='" + (cantreltal - cant) +
                                             "', devueltas='" + (devreltal - cant) + "' WHERE id_relTalonario='" + codreltal + "'", Conexion.sqlConexion);
                        fl = (cmd.ExecuteNonQuery() > 0) ? true : false;
                    }
                    else
                    {
                        fl = false;
                    }
                }
                if (inireltal < iniAsigTal && finAsigTal == finreltal)
                {
                    if (this.InsertRelTalonario(ini, fin, fec, efe, com, codTal, cusu, cant))
                    {
                        Conexion.Open();
                        cmd = new SqlCommand("UPDATE RelTalonario SET  fin='" + (finreltal - cant) + "', cantidad='" + (cantreltal - cant) +
                                             "', devueltas='" + (devreltal - cant) + "' WHERE id_relTalonario='" + codreltal + "'", Conexion.sqlConexion);
                        fl = (cmd.ExecuteNonQuery() > 0) ? true : false;
                    }
                    else
                    {
                        fl = false;
                    }
                }
                if (inireltal < iniAsigTal && finAsigTal < finreltal)
                {
                    if (this.InsertRelTalonario(ini, fin, fec, efe, com, codTal, cusu, cant))
                    {
                        int        finPaptal1 = (iniAsigTal - 1);
                        int        nroPaptal1 = iniAsigTal - inireltal;
                        BDPapeleta pap        = new BDPapeleta();
                        int        devPaptal1 = pap.cantDevuelta(inireltal.ToString(), finPaptal1.ToString());
                        Conexion.Open();
                        cmd = new SqlCommand("UPDATE RelTalonario SET  fin='" + finPaptal1 + "', cantidad='" + nroPaptal1 +
                                             "', devueltas='" + devPaptal1 + "', faltantes='" + (nroPaptal1 - devPaptal1) + "' WHERE id_relTalonario='" +
                                             codreltal + "'", Conexion.sqlConexion);
                        if (cmd.ExecuteNonQuery() > 0)
                        {
                            int iniPapTal2 = (finAsigTal + 1);
                            int nroPapTal2 = (finreltal - finAsigTal);
                            int devPapTal2 = pap.cantDevuelta(iniPapTal2.ToString(), finreltal.ToString());
                            Conexion.Open();
                            cmd = new SqlCommand("INSERT INTO RelTalonario(inicio,fin,cantidad, devueltas, faltantes,fecha_entrega,id_usuario,id_talonario,cip,id_comisaria)" +
                                                 " VALUES('" + iniPapTal2 + "','" + finreltal + "','" + nroPapTal2 + "','" + devPapTal2 + "','" + (nroPapTal2 - devPapTal2) + "','" + fecreltal +
                                                 "','" + usureltal + "','" + codTal + "','" + cipreltal + "','" + comreltal + "')", Conexion.sqlConexion);
                            fl = (cmd.ExecuteNonQuery() > 0) ? true : false;
                        }
                        else
                        {
                            fl = false;
                        }
                    }
                    else
                    {
                        fl = false;
                    }
                }
                if (fl)
                {
                    String newCodAsigTal = "";
                    Conexion.Open();
                    cmd    = new SqlCommand("SELECT id_relTalonario FROM relTalonario WHERE inicio='" + ini + "' AND fin='" + fin + "' ORDER BY id_relTalonario DESC", Conexion.sqlConexion);
                    reader = cmd.ExecuteReader();
                    if (reader.Read())
                    {
                        newCodAsigTal = "" + (reader.GetInt64(0));
                    }

                    for (int i = 0; i < cant; i++)
                    {
                        BDPapeleta pap = new BDPapeleta();
                        String     num = (int.Parse(ini) + i).ToString();
                        if (pap.asignarPapeleta(num, newCodAsigTal))
                        {
                            cont++;
                        }
                    }
                }
            }
            Conexion.Close();

            return(true);
        }