private async Task <bool> ImportOficiosAsync()
        {
            var dao = new OficiosDAO();

            dao.OpenDatabase();

            try
            {
                var rstMain         = dao.GetRecordSet();
                var processDataList = new List <ProcessData>();
                var uploadFileList  = new List <string>();

                while (!rstMain.EOF)
                {
                    processDataList.Add(OficiosHelper.CreateAsuntoDataField(rstMain.Fields["ASUNTO"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateDenominacionSocialDataField(rstMain.Fields["DENOMINACIÓN SOCIAL/NOMBRE, APELLIDOS ARRENDATARIO"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateMatriculaVehiculoDataField(rstMain.Fields["MATRÍCULA VEHÍCULO"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateNumeroContratoDataField(rstMain.Fields["NÚMERO DE CONTRATO"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateEntidadSolicitanteDataField(rstMain.Fields["ENTIDAD SOLICITANTE DE LOS DATOS/OFICIOS"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateLocalidadDataField(rstMain.Fields["LOCALIDAD/PROVINCIA SOLICITANTE"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateDireccionSolicitanteDataField(rstMain.Fields["DIRECCION SOLICITANTE"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateCodigoPostalDataField(rstMain.Fields["CÓDIGO POSTAL SOLICITANTE"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateTelefonoDataField(rstMain.Fields["TELÉFONO SOLICITANTE"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateFaxDataField(rstMain.Fields["FAX SOLICITANTE"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateCorreoElectronicoDataField(rstMain.Fields["CORREO ELECTRÓNICO SOLICITANTE"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreatePersonaContactoDataField(rstMain.Fields["PERSONA DE CONTACTO SOLICITANTE"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateFechaYMedioDataField(rstMain.Fields["FECHA Y MEDIO A TRAVÉS DEL CUAL HA LLEGADO LA SOLICITUD"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateFechaRespuestaCxrDataField(rstMain.Fields["FECHA DE RESPUESTA DE CXR Y A TRAVÉS DE QUE MEDIO"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateComentario1DataField(rstMain.Fields["COMENTARIOS (I)"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateComentario2DataField(rstMain.Fields["COMENTARIOS (II)"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateComentario3DataField(rstMain.Fields["COMENTARIOS (III)"].Value.ToString()));
                    processDataList.Add(OficiosHelper.CreateLugarExpedienteDataField(rstMain.Fields["LUGAR EN EL QUE SE ENCUENTRA EL EXPEDIENTE FISICO"].Value.ToString()));

                    var dataId = string.Empty;

                    try
                    {
                        dataId = await AddOficiosProcessData(token, processDataList.ToArray());
                    }
                    catch (RestResponseException ex)
                    {
                        LogFactory.CreateLog().LogError(ex);
                        continue;
                    }

                    // Export files from first column
                    var rstAttach = RecordsetHelper.GetRecordset2("DATOS ADJUNTOS (I)", rstMain);

                    try
                    {
                        uploadFileList.AddRange(ExportFilesFromRecordset(rstAttach));
                    }
                    finally
                    {
                        rstAttach.Close();
                    }

                    // Export files from second column
                    rstAttach = RecordsetHelper.GetRecordset2("DATOS ADJUNTOS (II)", rstMain);

                    try
                    {
                        uploadFileList.AddRange(ExportFilesFromRecordset(rstAttach));
                    }
                    finally
                    {
                        rstAttach.Close();
                    }

                    // Export files from third column
                    rstAttach = RecordsetHelper.GetRecordset2("DATOS ADJUNTOS (III)", rstMain);

                    try
                    {
                        uploadFileList.AddRange(ExportFilesFromRecordset(rstAttach));
                    }
                    finally
                    {
                        rstAttach.Close();
                    }

                    foreach (var fileName in uploadFileList)
                    {
                        try
                        {
                            await AddOficiosProcessFiles(token, dataId, new FileInfo(fileName));
                        }
                        catch (RestResponseException ex)
                        {
                            LogFactory.CreateLog().LogError(ex);
                            continue;
                        }
                    }

                    processDataList.Clear();
                    uploadFileList.Clear();
                    rstMain.MoveNext();
                }
            }
            finally
            {
                dao.CloseDatabase();
                dao = null;
            }

            return(true);
        }
        private async Task <bool> ImportContratosAsync()
        {
            var dao = new ContratosDAO();

            dao.OpenDatabase();

            try
            {
                var rstMain         = dao.GetRecordSet();
                var processDataList = new List <ProcessData>();
                var uploadFileList  = new List <string>();

                while (!rstMain.EOF)
                {
                    processDataList.Add(ContratosHelper.CreateClienteDataField(rstMain.Fields["Cliente"].Value.ToString()));
                    processDataList.Add(ContratosHelper.CreateTipoContratoDataField(rstMain.Fields["Tipo de contrato"].Value.ToString()));
                    processDataList.Add(ContratosHelper.CreateNIFDataField(rstMain.Fields["NIF"].Value.ToString()));
                    processDataList.Add(ContratosHelper.CreateNumeroContratoDataField(rstMain.Fields["Número crto"].Value.ToString()));
                    processDataList.Add(ContratosHelper.CreateUbicacionDataField(rstMain.Fields["Ubicación"].Value.ToString()));

                    var dataId = string.Empty;

                    try
                    {
                        dataId = await AddContratosProcessData(token, processDataList.ToArray());
                    }
                    catch (RestResponseException ex)
                    {
                        LogFactory.CreateLog().LogError(ex);
                        continue;
                    }

                    // Export files from first column
                    var rstAttach = RecordsetHelper.GetRecordset2("Datos adjuntos", rstMain);

                    try
                    {
                        uploadFileList.AddRange(ExportFilesFromRecordset(rstAttach));
                    }
                    finally
                    {
                        rstAttach.Close();
                    }

                    foreach (var fileName in uploadFileList)
                    {
                        try
                        {
                            await AddContratosProcessFiles(token, dataId, new FileInfo(fileName));
                        }
                        catch (RestResponseException ex)
                        {
                            LogFactory.CreateLog().LogError(ex);
                            continue;
                        }
                    }

                    processDataList.Clear();
                    uploadFileList.Clear();
                    rstMain.MoveNext();
                }
            }
            finally
            {
                dao.CloseDatabase();
                dao = null;
            }

            return(true);
        }
        private async Task <bool> ImportBuroFaxesAsync()
        {
            var dao = new BuroFaxesDAO();

            dao.OpenDatabase();

            try
            {
                var rstMain         = dao.GetRecordSet();
                var processDataList = new List <ProcessData>();
                var uploadFileList  = new List <string>();

                while (!rstMain.EOF)
                {
                    processDataList.Add(BuroFaxesHelper.CreateFechaEmisionDataField(rstMain.Fields["FECHA DE EMISIÓN"].Value.ToString()));
                    processDataList.Add(BuroFaxesHelper.CreateFechaLlegadaDataField(rstMain.Fields["FECHA DE LLEGADA A CAIXARENTING"].Value.ToString()));
                    processDataList.Add(BuroFaxesHelper.CreateFechaEntregaDataField(rstMain.Fields["FECHA EN LA QUE SE ENTREGA AL DEPARTAMENTO CORRESPONDIENTE"].Value.ToString()));
                    processDataList.Add(BuroFaxesHelper.CreateFechaRespuestaDataField(rstMain.Fields["FECHA DE RESPUESTA POR PARTE DEL DEPARTAMENTO CORRESPONDIENTE"].Value.ToString()));
                    processDataList.Add(BuroFaxesHelper.CreateClienteDataField(rstMain.Fields["CLIENTE"].Value.ToString()));
                    processDataList.Add(BuroFaxesHelper.CreateAsuntoDataField(rstMain.Fields["ASUNTO"].Value.ToString()));
                    processDataList.Add(BuroFaxesHelper.CreateDepartamentoDataField(rstMain.Fields["DEPARTAMENTO AL QUE PERTENECE"].Value.ToString()));
                    processDataList.Add(BuroFaxesHelper.CreateRespuestaEmitidaDataField(rstMain.Fields["RESPUESTA EMITIDA (ASUNTO-TEMA)"].Value.ToString()));
                    processDataList.Add(BuroFaxesHelper.CreateComentario1DataField(rstMain.Fields["COMENTARIO (I)"].Value.ToString()));
                    processDataList.Add(BuroFaxesHelper.CreateComentario2DataField(rstMain.Fields["COMENTARIO (II)"].Value.ToString()));
                    processDataList.Add(BuroFaxesHelper.CreateComentario3DataField(rstMain.Fields["COMENTARIO (III)"].Value.ToString()));

                    var dataId = string.Empty;

                    try
                    {
                        dataId = await AddBuroFaxesProcessData(token, processDataList.ToArray());
                    }
                    catch (RestResponseException ex)
                    {
                        LogFactory.CreateLog().LogError(ex);
                        continue;
                    }

                    // Export files from first column
                    var rstAttach = RecordsetHelper.GetRecordset2("DOCUMENTO ADJUNTO (I)", rstMain);

                    try
                    {
                        uploadFileList.AddRange(ExportFilesFromRecordset(rstAttach));
                    }
                    finally
                    {
                        rstAttach.Close();
                    }

                    // Export files from second column
                    rstAttach = RecordsetHelper.GetRecordset2("DOCUMENTO ADJUNTO (II)", rstMain);

                    try
                    {
                        uploadFileList.AddRange(ExportFilesFromRecordset(rstAttach));
                    }
                    finally
                    {
                        rstAttach.Close();
                    }

                    foreach (var fileName in uploadFileList)
                    {
                        try
                        {
                            await AddBuroFaxesProcessFiles(token, dataId, new FileInfo(fileName));
                        }
                        catch (RestResponseException ex)
                        {
                            LogFactory.CreateLog().LogError(ex);
                            continue;
                        }
                    }

                    processDataList.Clear();
                    uploadFileList.Clear();
                    rstMain.MoveNext();
                }
            }
            finally
            {
                dao.CloseDatabase();
                dao = null;
            }

            return(true);
        }