Documentación técnica de Sage 50 (50.7840.0)
__RgpdFileManager.cs
1
using
System
;
2
using
System
.Collections.Generic;
3
using
System
.Linq;
4
using
System
.Text;
5
using
sage
.
ew
.
interficies
;
6
using
System
.Windows.Forms;
7
using
System
.IO;
8
using
sage
.
ew
.
db
;
9
10
namespace
sage
.addons.
rgpd
.Negocio
11
{
12
//10/04/2018 Esta clase deja de tener sentido ya que la gestión documental asume el trabajo con ficheros.
13
17
//internal class RgpdFileManager : IRgpdGestdocOperationProvider
18
//{
19
// //Operaciones vinculadas con la gestión documental
20
// //1.Envío de solicitud de consentimiento
21
// //2.Recepción de consentimiento
22
// //3.Recepción solicitud supresión
23
// //4.Recepción solicitud solicitud portabilidad
24
// //5.Generación de datos de Portabilidad
25
// internal const string SOLICITUD_CONSENTIMIENTO = "_1";
26
// internal const string RECEPCION_CONSENTIMIENTO = "_2";
27
// internal const string SOLICITUD_SUPRESION = "_3";
28
// internal const string SOLICITUD_PORTABILIDAD = "_4";
29
// internal const string DATOS_PORTABILIDAD = "_5";
30
31
// //Variables correspondientes al elemento que se esta tratando
32
// IRgpdInstanciaEntidad _oInstanciaActual = null;
33
// string _cFicheroOrigen = String.Empty;
34
// string _cFicheroDestino = String.Empty;
35
// string _cSufijoParaFichero = string.Empty;
36
37
// /// <summary>
38
// /// Obtiene un formulario para realizar operaciones
39
// /// </summary>
40
// internal OpenFileDialog _Formulario
41
// {
42
// get
43
// {
44
// if (_oFormulario == null)
45
// obtenerFormularioConfigurado();
46
// return _oFormulario;
47
// }
48
// set { _oFormulario = value; }
49
// }
50
// private OpenFileDialog _oFormulario = null;
51
52
// /// <summary>
53
// /// Directorio base para documentos
54
// /// </summary>
55
// internal string _DirectorioBase
56
// {
57
// get { return RgpdConfig._RutaDocumentos; }
58
// }
59
60
// /// <summary>
61
// /// Constructor
62
// /// </summary>
63
// public RgpdFileManager()
64
// {
65
66
// }
67
68
// #region Métodos públicos
69
70
// /// <summary>
71
// /// Ver el fichero de datos de portabilidad
72
// /// </summary>
73
// /// <param name="sender">Orígen de la invocación del método</param>
74
// /// <param name="tnIdFichero">Identificador del fichero</param>
75
// public void RgpdShowFile_DatosPortabilidad(object sender, int tnIdFichero)
76
// {
77
// //Asigno el sufijo asociado al tipo de fichero
78
// _cSufijoParaFichero = DATOS_PORTABILIDAD;
79
80
// procesoVisionadoFichero(sender);
81
// }
82
83
// /// <summary>
84
// /// Ver el fichero de consentimiento
85
// /// </summary>
86
// /// <param name="sender">Orígen de la invocación del método</param>
87
// /// <param name="tnIdFichero">Identificador del fichero</param>
88
// public void RgpdShowFile_RecepcionConsentimiento(object sender, int tnIdFichero)
89
// {
90
// //Asigno el sufijo asociado al tipo de fichero
91
// _cSufijoParaFichero = RECEPCION_CONSENTIMIENTO;
92
93
// procesoVisionadoFichero(sender);
94
// }
95
96
// /// <summary>
97
// /// Ver el fichero de solicitud de consentimiento
98
// /// </summary>
99
// /// <param name="sender">Orígen de la invocación del método</param>
100
// /// <param name="tnIdFichero">Identificador del fichero</param>
101
// public void RgpdShowFile_SolicitudConsentimiento(object sender, int tnIdFichero)
102
// {
103
// //Asigno el sufijo asociado al tipo de fichero
104
// _cSufijoParaFichero = SOLICITUD_CONSENTIMIENTO;
105
106
// procesoVisionadoFichero(sender);
107
// }
108
109
// /// <summary>
110
// /// Ver el fichero de solicitud de portabilidad
111
// /// </summary>
112
// /// <param name="sender">Orígen de la invocación del método</param>
113
// /// <param name="tnIdFichero">Identificador del fichero</param>
114
// public void RgpdShowFile_SolicitudPortabilidad(object sender, int tnIdFichero)
115
// {
116
// //Asigno el sufijo asociado al tipo de fichero
117
// _cSufijoParaFichero = SOLICITUD_PORTABILIDAD;
118
119
// procesoVisionadoFichero(sender);
120
// }
121
122
// /// <summary>
123
// /// Ver el fichero de solicitud de supresión
124
// /// </summary>
125
// /// <param name="sender">Orígen de la invocación del método</param>
126
// /// <param name="tnIdFichero">Identificador del fichero</param>
127
// public void RgpdShowFile_SolicitudSupresion(object sender, int tnIdFichero)
128
// {
129
// //Asigno el sufijo asociado al tipo de fichero
130
// _cSufijoParaFichero = SOLICITUD_SUPRESION;
131
132
// procesoVisionadoFichero(sender);
133
// }
134
135
// /// <summary>
136
// /// Subir el fichero de datos de portabilidad
137
// /// </summary>
138
// /// <param name="sender">Orígen de la invocación del método</param>
139
// /// <param name="toInfoFichero">Informacion del fichero</param>
140
// /// <returns>Id del fichero</returns>
141
// public int RgpdUploadFile_DatosPortabilidad(object sender, IRgpdFileInfo toInfoFichero)
142
// {
143
// //Asigno el sufijo asociado al tipo de fichero
144
// _cSufijoParaFichero = DATOS_PORTABILIDAD;
145
146
// return procesoUploadFichero(sender, toInfoFichero._Ruta, toInfoFichero._IdFichero);
147
// }
148
149
// /// <summary>
150
// /// Subir el fichero de consentimiento
151
// /// </summary>
152
// /// <param name="sender">Orígen de la invocación del método</param>
153
// /// <param name="toInfoFichero">Informacion del fichero</param>
154
// /// <returns>Id del fichero</returns>
155
// public int RgpdUploadFile_RecepcionConsentimiento(object sender, IRgpdFileInfo toInfoFichero)
156
// {
157
// //Asigno el sufijo asociado al tipo de fichero
158
// _cSufijoParaFichero = RECEPCION_CONSENTIMIENTO;
159
160
// return procesoUploadFichero(sender, toInfoFichero._Ruta, toInfoFichero._IdFichero);
161
// }
162
163
// /// <summary>
164
// /// Subir el fichero de solicitud de consentimiento
165
// /// </summary>
166
// /// <param name="sender">Orígen de la invocación del método</param>
167
// /// <param name="toInfoFichero">Informacion del fichero</param>
168
// /// <returns>Id del fichero</returns>
169
// public int RgpdUploadFile_SolicitudConsentimiento(object sender, IRgpdFileInfo toInfoFichero)
170
// {
171
// //Asigno el sufijo asociado al tipo de fichero
172
// _cSufijoParaFichero = SOLICITUD_CONSENTIMIENTO;
173
174
// return procesoUploadFichero(sender, toInfoFichero._Ruta, toInfoFichero._IdFichero);
175
// }
176
177
// /// <summary>
178
// /// Subir el fichero de datos de portabilidad
179
// /// </summary>
180
// /// <param name="sender">Orígen de la invocación del método</param>
181
// /// <param name="toInfoFichero">Informacion del fichero</param>
182
// /// <returns>Id del fichero</returns>
183
// public int RgpdUploadFile_SolicitudPortabilidad(object sender, IRgpdFileInfo toInfoFichero)
184
// {
185
// //Asigno el sufijo asociado al tipo de fichero
186
// _cSufijoParaFichero = SOLICITUD_PORTABILIDAD;
187
188
// return procesoUploadFichero(sender, toInfoFichero._Ruta, toInfoFichero._IdFichero);
189
// }
190
191
// /// <summary>
192
// /// Subir el fichero de solicitud de supresión
193
// /// </summary>
194
// /// <param name="sender">Orígen de la invocación del método</param>
195
// /// <param name="toInfoFichero">Informacion del fichero</param>
196
// /// <returns>Id del fichero</returns>
197
// public int RgpdUploadFile_SolicitudSupresion(object sender, IRgpdFileInfo toInfoFichero)
198
// {
199
// //Asigno el sufijo asociado al tipo de fichero
200
// _cSufijoParaFichero = SOLICITUD_SUPRESION;
201
202
// return procesoUploadFichero(sender, toInfoFichero._Ruta, toInfoFichero._IdFichero);
203
// }
204
205
// #endregion Métodos públicos
206
207
// #region Métodos privados
208
209
// /// <summary>
210
// /// Obtiene una instancia configurada del formulario OpenDialog
211
// /// </summary>
212
// private void obtenerFormularioConfigurado()
213
// {
214
// _oFormulario = new OpenFileDialog();
215
// if (Environment.OSVersion.Version.Major >= 6)
216
// {
217
// string path = Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName;
218
// path = Directory.GetParent(path).ToString();
219
// _oFormulario.InitialDirectory = path;
220
// }
221
// _oFormulario.Multiselect = false;
222
// _oFormulario.Title = "Seleccionar archivo";
223
// }
224
225
// /// <summary>
226
// /// Método para visionar un fichero.
227
// /// Calcula la ruta, el nombre único y le pide al SO que abra el fichero.
228
// /// </summary>
229
// /// <param name="toSender"></param>
230
// private void procesoVisionadoFichero(object toSender)
231
// {
232
// _oInstanciaActual = toSender as IRgpdInstanciaEntidad;
233
// if(_oInstanciaActual == null)
234
// return;
235
236
// try
237
// {
238
// string lcSafeName = obtenerNombreFicheroSinExtension(_oInstanciaActual, _cSufijoParaFichero);
239
// DirectoryInfo loDir = new DirectoryInfo(Path.Combine(_DirectorioBase, _oInstanciaActual._CodigoEntidad));
240
// foreach (var ficheroInstancia in loDir.GetFiles(lcSafeName + ".*"))
241
// {
242
// //No se que fichero es ni me importa. Que lo abra el SO si puede
243
// System.Diagnostics.Process.Start(ficheroInstancia.FullName);
244
// return; //El primero que encuentre me vale. Termino.
245
// }
246
// }
247
// catch (Exception loException)
248
// {
249
// DB.Registrar_Error(loException);
250
// }
251
// }
252
253
// /// <summary>
254
// /// Limpia variables de trabajo
255
// /// </summary>
256
// private void limpiarVariablesTemporales()
257
// {
258
// _oInstanciaActual = null;
259
// _cFicheroOrigen = String.Empty;
260
// _cFicheroDestino = String.Empty;
261
// _cSufijoParaFichero = string.Empty;
262
// }
263
264
// /// <summary>
265
// /// Proceso de subida de un fichero
266
// /// </summary>
267
// /// <param name="toSender"></param>
268
// /// <param name="tcFichero"></param>
269
// /// <param name="tnIdFichero">No se contempla usar versiones por lo que se ignora este parámetro</param>
270
// /// <returns></returns>
271
// private int procesoUploadFichero(object toSender, string tcFichero = "", int tnIdFichero = 0)
272
// {
273
// //tnIdFichero => No se contempla usar versiones por lo que se ignora este parámetro
274
275
// _oInstanciaActual = toSender as IRgpdInstanciaEntidad;
276
// if (_oInstanciaActual == null)
277
// return -1;
278
279
// bool llOk = true;
280
// int lnIdResultado = -1; //Id menor que 0 (falso)
281
282
// if (string.IsNullOrWhiteSpace(tcFichero))
283
// llOk = seleccionarFichero();
284
// else
285
// llOk = validarFichero(tcFichero);
286
287
// if (llOk)
288
// {
289
// if (copiarFichero())
290
// lnIdResultado = 1; //Id inventado mayor que 0
291
// }
292
293
// limpiarVariablesTemporales();
294
// return lnIdResultado;
295
// }
296
297
// private bool copiarFichero()
298
// {
299
// if (_oInstanciaActual != null)
300
// {
301
// string lcSafeName = obtenerNombreFicheroSinExtension(_oInstanciaActual, _cSufijoParaFichero);
302
// if (limpiarDestino(lcSafeName))
303
// {
304
// string lcExtensionOrigen = Path.GetExtension(_cFicheroOrigen);
305
// _cFicheroDestino = obtenerRutaAbsolutaFicheroDestino(_oInstanciaActual, _cSufijoParaFichero, lcExtensionOrigen);
306
// try
307
// {
308
// File.Copy(_cFicheroOrigen, _cFicheroDestino);
309
// }
310
// catch (Exception loException)
311
// {
312
// DB.Registrar_Error(loException);
313
// }
314
// return true;
315
// }
316
// }
317
// return false;
318
// }
319
320
// private bool limpiarDestino(string lcSafeName)
321
// {
322
// try
323
// {
324
// string lcDirectorioDestino = Path.Combine(_DirectorioBase, _oInstanciaActual._CodigoEntidad);
325
// garantizarDirectorio(lcDirectorioDestino);
326
// DirectoryInfo loDir = new DirectoryInfo(lcDirectorioDestino);
327
// foreach (var oldFile in loDir.GetFiles(lcSafeName + ".*"))
328
// {
329
// oldFile.Delete();
330
// }
331
// return true;
332
// }
333
// catch (Exception loException)
334
// {
335
// DB.Registrar_Error(loException);
336
// }
337
// return false;
338
// }
339
340
// /// <summary>
341
// /// Valida el fichero recibido por parámetro
342
// /// </summary>
343
// /// <param name="tcFichero"></param>
344
// /// <returns></returns>
345
// private bool validarFichero(string tcFichero)
346
// {
347
// bool fileOk = false;
348
// try
349
// {
350
// fileOk = File.Exists(tcFichero);
351
// _cFicheroOrigen = tcFichero; //Asigno como fichero actual (a tratar)
352
// }
353
// catch (Exception loException)
354
// {
355
// DB.Registrar_Error(loException);
356
// }
357
// return fileOk;
358
// }
359
360
361
// private bool seleccionarFichero()
362
// {
363
// if (_Formulario.ShowDialog() == DialogResult.OK)
364
// {
365
// _cFicheroOrigen = _Formulario.FileName; //Asigno como fichero actual (a tratar)
366
// return true;
367
// }
368
// else
369
// return false;
370
// }
371
372
// /// <summary>
373
// /// Obtiene la ruta al directorio base
374
// /// </summary>
375
// /// <param name="tcNombreDirectorio"></param>
376
// /// <returns></returns>
377
// private void garantizarDirectorio(string tcNombreDirectorio)
378
// {
379
// if (!Directory.Exists(tcNombreDirectorio))
380
// {
381
// Directory.CreateDirectory(tcNombreDirectorio);
382
// }
383
// }
384
385
// /// <summary>
386
// /// Genera el nombre que tendrá el fichero en base a la ENTIDAD + INSTANCIA + SUFIJO sin extensión.
387
// /// </summary>
388
// /// <param name="toOrigen"></param>
389
// /// <param name="tcSufijo"></param>
390
// /// <returns></returns>
391
// private string obtenerNombreFicheroSinExtension(IRgpdInstanciaEntidad toOrigen, string tcSufijo)
392
// {
393
// string lcNombreFichero = String.Join("_", new List<string>() { toOrigen._CodigoEntidad, toOrigen._CodigoInstancia, tcSufijo });
394
// return lcNombreFichero;
395
// }
396
397
// /// <summary>
398
// ///
399
// /// </summary>
400
// /// <param name="toOrigen"></param>
401
// /// <param name="tcSufijo"></param>
402
// /// <param name="tcExtension"></param>
403
// /// <returns></returns>
404
// private string obtenerRutaAbsolutaFicheroDestino(IRgpdInstanciaEntidad toOrigen, string tcSufijo, string tcExtension)
405
// {
406
// string lcNombreFicheroSinExtension = obtenerNombreFicheroSinExtension(toOrigen, tcSufijo);
407
// string lcRutaAbsolutaFichero = Path.Combine(_DirectorioBase, toOrigen._CodigoEntidad, lcNombreFicheroSinExtension);
408
// if (!String.IsNullOrWhiteSpace(tcExtension))
409
// {
410
// if (tcExtension.StartsWith("."))
411
// lcRutaAbsolutaFichero += tcExtension;
412
// else
413
// lcNombreFicheroSinExtension += "." + tcExtension;
414
// }
415
// return lcRutaAbsolutaFichero;
416
// }
417
418
// #endregion Métodos privados
419
//}
420
}
sage
System
Definition:
ExceptionExtensions.cs:3
sage.ew
sage.addons.rgpd.rgpd
Clase base para el módulo rgpd
Definition:
SageAddons.cs:51
sage.ew.db
Definition:
Backups.cs:9
sage.ew.interficies
Definition:
IModuloTrazabilidad.cs:9
src
Sage.ES.S50
addons
rgpd
Negocio
Clases
__RgpdFileManager.cs
Generado el Jueves, 27 de Junio de 2024 04:34:28 para Sage50 por
Doxygen v.1.8.14