示例#1
0
        //--------------------------------------------------------------------------------------------------------->>>
        // Sobrecarga de GetFiles para ejecutar todas las operaciones SELECT (siempre se ejecuta después del 1ero)
        public static List <FileModel> GetFiles(ClientsModeling.Client client, string fname, string fformat, string farea, string fdate)
        {
            // Instancia del cliente y de la lista a retornar
            Client           cli   = new Client();
            List <FileModel> files = new List <FileModel>();

            try
            {
                // Serializamos información a enviar
                string dataSend = SendReceiveStructures.JsonSerialize(client, null, fname, fformat, farea, fdate);
                // Inicia Cliente y proceso de envío y recepción de datos
                string dataReceive = cli.MakePetition(dataSend);
                // Deserializamos información
                ClientsModeling.Data result = SendReceiveStructures.JsonDeserialize(dataReceive);
                // Evaluación de la bandera recibida
                if (result.flag)
                {
                    files = result.filesData;
                }
                else
                {
                    files = null;
                }
            }
            catch (Exception ex)
            {
            }
            return(files);
        }
示例#2
0
        //--------------------------------------------------------------------------------------------------------->>>
        // Cargamos en la función la Lista de archivos
        public static List <FileModel> LoadFiles(IList <HttpPostedFile> files)
        {
            // Instancia del cliente para hacer las peticiones y del objeto FileModel para enviar. Lista a devolver
            Client           cli = new Client();
            FileModel        fileInfo;
            List <FileModel> filesUpdt = new List <FileModel>();
            // String a mandar con info del archivo, string para tratar cada nombre de archivo, string a recibir con info actualizada
            string strnData    = "";
            string fName       = "";
            string updatedData = "";
            // Expresión regular contra la que se validaran los strings
            Regex reg = new Regex("[^a-zA-Z0-9_. ]");

            // Buffer de operaciones
            byte[] allFile;
            foreach (var file in files)
            {
                // Convertimos a bytes info de cada Archivo
                allFile = new BinaryReader(file.InputStream).ReadBytes(file.ContentLength);
                // Tratamos cada nombre de archivo
                fName = Path.GetFileNameWithoutExtension(file.FileName.Normalize(NormalizationForm.FormD));
                // Generamos objeto con info del archivo
                fileInfo = new FileModel()
                {
                    fileName   = reg.Replace(fName, ""),
                    fileFormat = Path.GetExtension(file.FileName),
                    fileSize   = file.ContentLength.ToString()
                };
                // Serializamos directamente la info del archivo
                strnData = JsonConvert.SerializeObject(fileInfo);
                // Se envía info del Archivo y el Archivo
                updatedData = cli.SendFiles(strnData, allFile);
                // Deserializamos información
                ClientsModeling.Data result = new ClientsModeling.Data();

                if (updatedData.Length > 0)
                {
                    result = SendReceiveStructures.JsonDeserialize(updatedData);
                    // Evaluación de la bandera recibida
                    if (result.flag)
                    {
                        filesUpdt = result.filesData;
                    }
                    else
                    {
                        filesUpdt.DefaultIfEmpty(new FileModel());
                    }
                }
                else
                {
                    filesUpdt.DefaultIfEmpty(new FileModel());
                }
                // Se limpian los Arrays
                Array.Clear(allFile, 0, allFile.Length);
            }
            return(filesUpdt);
        }
示例#3
0
        //--------------------------------------------------------------------------------------------------------->>>[!!!! MODIFIED !!!!]
        // Lineas que tengan '***', son nuevas
        // Función para peticion de carga (Cada petición de carga llevará un fragmento del archivo)
        public static void LoadPetition(ClientsModeling.Client client, string areaDestiny, HttpPostedFile file)
        {
            // Instanciamos CLiente
            Client cli = new Client();
            // Generamos fragmentos de archivo
            List <FileModel> fragments = FileSplitter(file); // ***

            foreach (FileModel fragment in fragments)        // ***
            {                                                // ***
                // Serializamos información a enviar
                string dataSend = SendReceiveStructures.JsonSerialize(client, fragment, null, null, areaDestiny, null);
                // Inicia proceso de envío y recepción de datos
                cli.MakePetition(dataSend);
            } // ***
        }
示例#4
0
 // Función para petición de autenticación
 public ClientsModeling.Data RequestAuthentication(ClientsModeling.Client dataLogin)
 {
     ClientsModeling.Data petitionResponse = new ClientsModeling.Data();
     try
     {
         // Serializamos y convertimos en bytes
         string dataSend = SendReceiveStructures.JsonSerialize(dataLogin, null, null, null, null, null);
         // Inicia Cliente y proceso de envío y recepción de datos
         string dataReceive = client.MakePetition(dataSend);
         // Deserializamos información
         petitionResponse = SendReceiveStructures.JsonDeserialize(dataReceive);
     }
     catch (Exception ex)
     {
         //Context.scriptMessage("Error al intentar conectar...\r\n" + ex.Message);
         Context.Logger("Error: " + ex.Message + ",\r\n" + ex.HResult + ",\r\n" + ex.StackTrace);
     }
     return(petitionResponse);
 }
示例#5
0
        //--------------------------------------------------------------------------------------------------------->>>
        // Función para ejecutar Select por 1era vez
        public static List <FileModel> GetFiles(string userName, string rfc)
        {
            // Instancia del cliente y de la lista a retornar
            Client           cli   = new Client();
            List <FileModel> files = new List <FileModel>();

            // Creamos la petición por Default (1er ingreso)
            ClientsModeling.Client clientData = new ClientsModeling.Client()
            {
                operation = OperationType.GetFiles,
                username  = userName,
                rfc       = rfc,
                topRange  = 25,
                index     = 1,
            };
            try
            {
                // Se serializa Información
                string dataSend = SendReceiveStructures.JsonSerialize(clientData, null, null, null, null, null);
                // Inicia Cliente y proceso de envío y recepción de datos
                string dataReceive = cli.MakePetition(dataSend);
                // Deserializamos información
                ClientsModeling.Data result = SendReceiveStructures.JsonDeserialize(dataReceive);
                // Evaluación de la bandera recibida
                if (result.flag)
                {
                    files = result.filesData;
                }
                else
                {
                    files = null;
                }
            }
            catch (Exception ex)
            {
            }
            return(files);
        }