public MODRespuestaAPI <long> CrearArchivo(MODArchivo prmArchivo)
        {
            MODRespuestaAPI <long> respuesta = null;
            string codigoMensaje             = "COMUNES.ERRORSERVICIO";

            try
            {
                if (prmArchivo != null)
                {
                    long            idArchivo      = 0;
                    IArchivoNegocio usuarioNegocio = FabricaNegocio.CrearArchivoNegocio;
                    idArchivo = usuarioNegocio.CrearArchivo(prmArchivo);
                    respuesta = new MODRespuestaAPI <long>(idArchivo);
                }
                else
                {
                    respuesta = new MODRespuestaAPI <long>(HttpStatusCode.BadRequest, "ARCHIVO.RESPUESTAS.RTA003");
                }
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex, "ArchivoController.CrearArchivo", JsonSerializer.Serialize(prmArchivo), ErrorType.Error);
                respuesta = new MODRespuestaAPI <long>(HttpStatusCode.InternalServerError, codigoMensaje);
            }
            finally
            {
                //Auditoria.
            }
            return(respuesta);
        }
        public override MODResultado Ejecutar(ref LinkedListNode <MODTarea> tarea, MODReporte reporte, MODArchivo archivo)
        {
            IArchivoNegocio archivoNegocio = FabricaNegocio.CrearArchivoNegocio;

            MODResultado resultado = new MODResultado();
            var          errores   = new List <string>();

            archivo.Periodo         = tarea.Value.Periodo;
            archivo.IdFlujo         = tarea.Value.IdFlujo;
            archivo.IdElementoFlujo = tarea.Value.IdElemento;
            archivo.Periodicidad    = _flujo.Periodicidad;
            archivo.DatoPeriodo     = _flujo.DatoPeriodo;

            var    lista       = tarea.Value.Registros;
            string rutaDestino = "";

            if ((tarea.Value.Registros != null && tarea.Value.Registros.Count > 0) || tarea.Previous.Value.Proceso == Comun.Enumeradores.FlujoDeTrabajo.EnumProceso.Ejecutar)
            {
                if (archivoNegocio.CrearArchivo(archivo, lista, ref rutaDestino))
                {
                    archivoNegocio.CrearLogGeneracionArchivo(new MODLogGeneracionArchivo()
                    {
                        IdArchivo       = archivo.IdArchivo,
                        FechaGeneracion = DateTime.Now,
                        RutaDestino     = rutaDestino,
                        IdFlujo         = archivo.IdFlujo
                    });
                }
                else
                {
                    //resultado = false;
                    //mensajesError.Add($"Ha ocurrido un error al intentar crear el archivo");
                    resultado.Errores.Add("Ha ocurrido un error al intentar crear el archivo");
                }
            }
            else
            {
                archivoNegocio.GenerarArchivo(archivo, ref errores);
                resultado.Errores = errores;
            }
            AisgnarRegistros(ref tarea);
            return(resultado);
        }