Exemple #1
0
        /// <summary>
        /// Validar Comentarios
        /// </summary>
        /// <param name="FechaInicioD"></param>
        /// <param name="FechaSelect"></param>
        /// <param name="TempTurno"></param>
        /// <returns></returns>
        //public List<filas> ValidarComentarios(DateTime FechaInicioD, DateTime FechaSelect, string TempTurno)
        public string ValidarComentarios(DateTime FechaSelect, string TempTurno, string Conexion)
        {
            OracleCommand    Cmd        = new OracleCommand();
            OracleConnection Connection = new OracleConnection(Conexion);

            BanValidaciones = true;
            DataSet   ds = new DataSet();
            DataTable dt = new DataTable();
            //Connection.ConnectionString = ConfigurationManager.ConnectionStrings["OracleDbContext"].ConnectionString;

            string rpt         = string.Empty;
            string FechaInicio = string.Empty;
            string FechaFinal  = string.Empty;
            string TurnoP      = string.Empty;


            switch (TempTurno)
            {
            case "22:00 - 06:00":
                TurnoP      = "1";
                FechaInicio = FechaSelect.AddDays(-1).ToString("MM/dd/yyyy") + " 22:00:00";
                FechaFinal  = FechaSelect.ToString("MM/dd/yyyy") + " 05:59:59";
                break;

            case "06:00 - 14:00":
                TurnoP      = "2";
                FechaInicio = FechaSelect.ToString("MM/dd/yyyy") + " 06:00:00";
                FechaFinal  = FechaSelect.ToString("MM/dd/yyyy") + " 13:59:59";
                break;

            case "14:00 - 22:00":
                TurnoP      = "3";
                FechaInicio = FechaSelect.ToString("MM/dd/yyyy") + " 14:00:00";
                FechaFinal  = FechaSelect.ToString("MM/dd/yyyy") + " 21:59:59";
                break;
            }

            // Valida que se hayan capturado los  comentarios en la entrega de Bolsa
            // SE MODIFICIO DATE_FIN_POSTE POR C.DATE_DEBUT_POSTE [RODRIGO]



            string Query = @"SELECT " +
                           "C.COMMENTAIRE AS COMENTARIOS, " +
                           "C.SAC AS BOLSA, " +
                           "C.OPERATING_SHIFT AS TURNO, " +
                           "C.DATE_REDDITION AS FECHA, " +
                           "C.RED_TXT1, " +
                           "''||C.RED_TXT1||' bolsa '||TO_CHAR(C.SAC)||' '||A.MATRICULE||'/'|| A.NOM ||'                          ' AS Aviso " +
                           "FROM REDDITION  C " +
                           "LEFT JOIN TABLE_PERSONNEL  A ON C.Matricule = A.Matricule " +
                           "WHERE DATE_REDDITION " +
                           "BETWEEN to_date('" + FechaInicio + "' ,'mm-dd-yyyy HH24:mi:SS') " +
                           "AND to_date('" + FechaFinal + "' ,'mm-dd-yyyy HH24:mi:SS') " +
                           " AND COMMENTAIRE IS NULL AND C.OPERATING_SHIFT  = " + TurnoP;



            Connection.Open();
            Cmd.CommandText = Query;
            Cmd.Connection  = Connection;
            OracleDataAdapter myAdapter  = new OracleDataAdapter(Cmd);
            OracleDataReader  DataReader = Cmd.ExecuteReader();

            while (DataReader.Read())
            {
                BanValidaciones = false;
                myAdapter.Fill(dt);
                Message += DataReader["Aviso"].ToString();
                // break;
            }


            //List<filas> filass = new List<filas>();
            foreach (DataRow indi in dt.Rows)
            {
                filas datos = new filas();
                datos.bolsa = indi["BOLSA"].ToString();
                datos.red   = indi["RED_TXT1"].ToString();
                datos.turno = indi["TURNO"].ToString();
                listass.Add(datos);
                break;
            }


            ControlesExportar model = new ControlesExportar();

            model.Listacomentarios = listass;
            Connection.Close();

            rpt = BanValidaciones == true ? "OK" : "STOP";
            return(rpt);

            //return listass;
        }
        public ActionResult Index(ControlesExportar model)
        {
            //entra = false;
            comen = model.Comentario;
            if (comen == null)
            {
                entra = false;
            }


            ValidacionesRepository validaciones = new ValidacionesRepository();
            Archivo2ARepository    archivo2A    = new Archivo2ARepository();
            Archivo1ARepository    archivo1A    = new Archivo1ARepository();
            Archivo9ARepository    archivo9A    = new Archivo9ARepository();
            ArchivoIIRepository    archivoII    = new ArchivoIIRepository();
            ArchivoPARepository    archivoPA    = new ArchivoPARepository();
            EncriptarRepository    encriptar    = new EncriptarRepository();
            ComprimirRepository    comprimir    = new ComprimirRepository();
            Encriptar2             encriptar2   = new Encriptar2();
            Comprimir2             comprimir2   = new Comprimir2();
            DateTime fecha_Actual = DateTime.Today;
            DateTime Hora_Actual  = DateTime.Now;
            DateTime Hora_        = DateTime.Now;
            DateTime _Hora        = DateTime.Now;
            int      Int_turno;
            string   Message = string.Empty;

            //if (Nom1 != null && Nom2 != null)
            //{
            //    comprimir2.EliminarZip(Nom1, Nom2);
            //}



            var DataStrDele = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(GetDelegaciones().Data); // convert json object to string.

            model.ListDelegaciones = JsonConvert.DeserializeObject <List <SelectListItem> >(DataStrDele);

            var DataStrPlaza = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(GetPlazaCobro().Data); // convert json object to string.

            model.ListPlazaCobro = JsonConvert.DeserializeObject <List <SelectListItem> >(DataStrPlaza);

            var DataStrTurno = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(GetTurnos().Data); // convert json object to string.

            model.ListTurno = JsonConvert.DeserializeObject <List <SelectListItem> >(DataStrTurno);

            var Delegacion = model.ListDelegaciones.Find(x => x.Value == model.DelegacionesId);
            var Plaza      = model.ListPlazaCobro.Find(p => p.Value == model.PlazaCobroId);
            var Turno      = model.ListTurno.Find(p => p.Value == model.TurnoId);

            if (Plaza == null)
            {
                ViewBag.Error = "Falta Delegaciones";
            }
            else if (Plaza.Value.Length == 2)
            {
                Plaza.Value = "0" + Plaza.Value;
                if (Plaza.Value == "004") //Tepotzotlan
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.20.221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }

                else if (Plaza.Value == "070") //Polotitlan
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.22.221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }

                else if (Plaza.Value == "005") //Palmillas
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.23.221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }

                else if (Plaza.Value == "027") //Chichimequillas
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.24.221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }

                else if (Plaza.Value == "006") //Querétaro
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.25.221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }

                else if (Plaza.Value == "061") //Libramiento
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.27.221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }

                else if (Plaza.Value == "083") //Villagrán
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.28.221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }

                else if (Plaza.Value == "086") //Cerro Gordo
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.29.221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }

                else if (Plaza.Value == "041") //Salamanca
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.30.221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }

                else if (Plaza.Value == "069") //Jorobas
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.21                                           .221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }

                else if (Plaza.Value == "041") //Salamanca
                {
                    ConexionDB = "User Id=GEADBA;Password=fgeuorjvne;  Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.30.221)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=GEAPROD)))";
                }
                else
                {
                    Response.Write("<script>alert('" + "Plaza en progreso" + "');</script>");
                }
            }

            DateTime FechaInicio = model.FechaInicio;


            try
            {
                //if (entra == true && comen.ToString() != null)
                //{

                //    entra = false;
                //     if (validaciones.Isertar_Comentarios(listaaa, comen) == "OK")
                //     {
                //        Response.Write("<script>alert('" + "error" + "');</script>");
                //        return View();
                //     }
                //}

                if (Delegacion == null)
                {
                    ViewBag.Titulo  = "Formulario incompleto";
                    ViewBag.Mensaje = "Falta Delegación<br />";
                }
                else if (Plaza == null)
                {
                    ViewBag.Titulo  = "Formulario incompleto";
                    ViewBag.Mensaje = "Falta Plaza <br />";
                }
                else if (Turno == null)
                {
                    ViewBag.Titulo  = "Formulario incompleto";
                    ViewBag.Mensaje = "Falta Turno<br />";
                }
                else if (FechaInicio.ToString() == "01/01/0001 12:00:00 a. m.")
                {
                    ViewBag.Titulo  = "Formulario incompleto";
                    ViewBag.Mensaje = "Falta Fecha<br />";
                }
                else if (FechaInicio > fecha_Actual)
                {
                    ViewBag.Titulo  = "Formulario llenado incorrectamente";
                    ViewBag.Mensaje = "La fecha debe ser menor a la actual<br />";
                }
                else if (validaciones.Valida_Turno(Convert.ToInt32(Turno.Value), FechaInicio) == "STOP")

                {
                    ViewBag.Titulo  = "Formulario llenado incorrectamente";
                    ViewBag.Mensaje = "Aún puedes generar este archivo<br />";
                }

                //else
                //listaaa = validaciones.ValidarComentarios(FechaInicio.AddDays(-1), FechaInicio, Turno.Text);

                //if(listaaa.Count == 1)
                //{

                //    ViewBag.List = new List<filas>();
                //    ViewBag.List = listaaa;
                //    entra = true;
                //    Response.Write("<script>alert('" + validaciones.Message + "');</script>");
                //    return View(ViewBag.List, model);

                //}
                else if (validaciones.ValidarCarrilesCerrados(FechaInicio, Turno.Text, ConexionDB) == "STOP")
                {
                    ViewBag.Titulo  = "Existen carriles sin cerrar:";
                    ViewBag.Mensaje = validaciones.Message;
                }
                else if (validaciones.ValidarBolsas(FechaInicio, Turno.Text, ConexionDB) == "STOP")
                {
                    ViewBag.Titulo  = "Existen bolsas sin declarar:";
                    ViewBag.Mensaje = validaciones.Message;
                }
                else if (validaciones.ValidarComentarios(FechaInicio, Turno.Text, ConexionDB) == "STOP")
                {
                    ViewBag.Titulo  = "Falta ingresar comentarios:";
                    ViewBag.Mensaje = validaciones.Message;
                }

                else

                {
                    //"01" SE DEBE ALMACENAR DE ACUERDO AL INICION DE SESIÓN
                    archivo1A.Generar_Bitacora_Operacion(Turno.Text, FechaInicio, Convert.ToString(Plaza.Value), Convert.ToString(Delegacion.Value), "03", ConexionDB);
                    archivo2A.Preliquidaciones_de_cajero_receptor_para_transito_vehicular(Turno.Text, FechaInicio, Convert.ToString(Plaza.Value), Convert.ToString(Delegacion.Value), "03", ConexionDB);
                    archivo9A.eventos_detectados_y_marcados_en_el_ECT(Turno.Text, FechaInicio, Convert.ToString(Plaza.Value), Convert.ToString(Delegacion.Value), "03", ConexionDB);
                    archivoII.Registro_usuarios_telepeaje(Turno.Text, FechaInicio, Convert.ToString(Plaza.Value), Convert.ToString(Delegacion.Value), "03", ConexionDB);
                    archivoPA.eventos_detectados_y_marcados_en_el_ECT_EAP(Turno.Text, FechaInicio, Convert.ToString(Plaza.Value), Convert.ToString(Delegacion.Value), "03", ConexionDB);
                    encriptar2.EncriptarArchivos(FechaInicio, Turno.Text, Convert.ToString(Plaza.Value), archivo1A.Archivo_1, archivo2A.Archivo_2, archivo9A.Archivo_3, archivoPA.Archivo_4, archivoII.Archivo_5, Plaza.Text);
                    encriptar.EncriptarArchivos(FechaInicio, Turno.Text, Convert.ToString(Plaza.Value), archivo1A.Archivo_1, archivo2A.Archivo_2, archivo9A.Archivo_3, archivoPA.Archivo_4, archivoII.Archivo_5, Plaza.Text);
                    comprimir.ComprimirArchivos(FechaInicio, Turno.Text, Convert.ToString(Plaza.Value), archivo1A.Archivo_1, archivo2A.Archivo_2, archivo9A.Archivo_3, archivoPA.Archivo_4, archivoII.Archivo_5, Plaza.Text);
                    comprimir2.ComprimirArchivos(FechaInicio, Turno.Text, Convert.ToString(Plaza.Value), archivo1A.Archivo_1, archivo2A.Archivo_2, archivo9A.Archivo_3, archivoPA.Archivo_4, archivoII.Archivo_5, Plaza.Text);
                    Nom1 = comprimir2.Nombre1;
                    Nom2 = comprimir2.Nombre2;
                    //Response.Write("<script>alert('Archivo 1A: " + archivo1A.Message + "\\nArchivo 2A: " + archivo2A.Message + "\\nArchivo 9A: " + archivo9A.Message + "\\nArchivo LL: " + archivoII.Message + "\\nArchivo PA:" + archivoPA.Message + "\\nEncriptación: " + encriptar.Message + "\\nCompresión: " + comprimir.Message + "');</script>");

                    ViewBag.Titulo  = "Resumen de creación de archivos";
                    ViewBag.Mensaje = "Archivo 1A: " + archivo1A.Message + "<br />Archivo 2A: " + archivo2A.Message + "<br />Archivo 9A: " + archivo9A.Message + "<br />Archivo LL: " + archivoII.Message + "<br />Archivo PA: " + archivoPA.Message + "<br />Encriptación: " + encriptar.Message + "<br />Compresión: " + comprimir.Message;
                }
            }
            catch (Exception ex)
            {
                Message         = ex.Message + " " + ex.StackTrace;
                ViewBag.Titulo  = "Error";
                ViewBag.Mensaje = Message;
            }
            return(View());
        }
        public void SeleccionarArchivos(List <HttpPostedFileBase> lista, string ruta)
        {
            ControlesExportar model = new ControlesExportar();
            var cadena       = string.Empty;
            var nom_archivo  = string.Empty;
            var cadena2      = string.Empty;
            var ruta_Guardar = string.Empty;



            try
            {
                foreach (var item in lista)
                {
                    item.SaveAs(ruta + item.FileName);
                }

                //var url = ruta + lista.LastOrDefault().FileName;
                var url = ruta + lista[3].FileName;



                //Busca el año
                var objeReader = new StreamReader(url);
                var Line       = objeReader.ReadLine();
                var Fecha      = Line.Substring(20, 4);
                objeReader.Close();



                foreach (var indi in lista)
                {
                    //Encriptar los archivos
                    EncriptCapufe.EncriptCapufe encriptar = new EncriptCapufe.EncriptCapufe();
                    encriptar.EncriptarFile(ruta + indi.FileName);
                }


                //Agregar a Zip

                using (ZipFile zip = new ZipFile())
                {
                    foreach (var indi in lista)
                    {
                        zip.AddFile(ruta + indi.FileName + "");
                    }

                    //Creamos el nombre zip

                    ruta_Guardar = @"C:\ArchivosPlanosWeb\";
                    //string Carpeta = @"C:\Users\Desarrollo3\Desktop\ArchivosPlanosWebModel\ArchivosPlanosWeb\Descargas\";


                    string valida;
                    valida = url.Substring(url.Length - 3);
                    if (valida == "49A")
                    {
                        cadena      = lista.Find(x => x.FileName.Substring(9, 3) == "4PA").FileName;
                        nom_archivo = cadena.Substring(0, 8) + "." + "Z" + cadena.Substring(9, 1) + "A";
                    }
                    else if (valida == "59A")
                    {
                        cadena      = lista.Find(x => x.FileName.Substring(9, 3) == "5PA").FileName;
                        nom_archivo = cadena.Substring(0, 8) + "." + "Z" + cadena.Substring(9, 1) + "A";
                    }
                    else if (valida == "69A")
                    {
                        cadena      = lista.Find(x => x.FileName.Substring(9, 3) == "6PA").FileName;
                        nom_archivo = cadena.Substring(0, 8) + "." + "Z" + cadena.Substring(9, 1) + "A";
                    }


                    //Guardamos Zip

                    if (!System.IO.File.Exists(nom_archivo))
                    {
                        zip.Save(ruta_Guardar + nom_archivo);
                    }
                }
                //Creamos el archivo HASH


                HashClass.HashClass hash = new HashClass.HashClass();
                var    textoEncriptado   = hash.EncryptString(ruta_Guardar + "\\" + nom_archivo);
                string PathF             = ruta_Guardar + "\\HASH.txt";

                //Escribimos el archivo Hash

                using (StreamWriter sw = File.CreateText(PathF))
                {
                    sw.WriteLine("ValidaHASH");
                    sw.WriteLine(textoEncriptado);
                    sw.Close();
                }

                //Agregamos Zip

                using (ZipFile zip2 = new ZipFile())
                {
                    zip2.AddFile(ruta_Guardar + "\\" + nom_archivo, "");
                    zip2.AddFile(PathF, "");
                    string nombre_Archivo2 = nom_archivo.Substring(0, 8) + Fecha + nom_archivo.Substring(8);
                    //string ruta_Guardar3 = ruta_Guardar + nom_archivo;
                    if (!System.IO.File.Exists(nombre_Archivo2))
                    {
                        zip2.Save(ruta_Guardar + "\\" + nombre_Archivo2);

                        System.IO.File.Delete(PathF);
                        System.GC.Collect();
                        System.GC.WaitForPendingFinalizers();
                        File.Delete(ruta_Guardar + nom_archivo);
                    }
                }
                foreach (var indi in Directory.GetFiles(@"C:\Users\Desarrollo3\Desktop\ArchivosPlanosWeb\ArchivosPlanosWeb\Temp"))
                {
                    File.Delete(indi);
                }
                Message = "Archvios encriptados correctamente en :  ";
            }
            catch (Exception ex)
            {
                Message = ex.Message + " " + ex.StackTrace;
                Message = Message.Replace(System.Environment.NewLine, "  ");
            }
        }