public MODRespuestaAPI <List <MODArchivo> > ObtenerArchivos(MODArchivoFiltro prmObtenerArchivos)
        {
            MODRespuestaAPI <List <MODArchivo> > respuesta = null;
            string codigoMensaje = "COMUNES.ERRORSERVICIO";

            try
            {
                IArchivoNegocio archivoNegocio = FabricaNegocio.CrearArchivoNegocio;
                var             archivos       = archivoNegocio.ObtenerArchivos(prmObtenerArchivos);
                if (archivos != null && archivos.Count > 0)
                {
                    respuesta = new MODRespuestaAPI <List <MODArchivo> >(archivos);
                }
                else
                {
                    codigoMensaje = "ARCHIVOS.RESPUESTAS.RTA002";
                    respuesta     = new MODRespuestaAPI <List <MODArchivo> >(HttpStatusCode.BadRequest, codigoMensaje);
                }
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex, "ArchivosController.ObtenerArchivos", string.Empty, ErrorType.Error);
                respuesta = new MODRespuestaAPI <List <MODArchivo> >(HttpStatusCode.InternalServerError, codigoMensaje);
            }
            finally
            {
                //Auditoria
            }
            return(respuesta);
        }
        public MODRespuestaAPI <bool> CrearCamposArchivo(List <MODCamposArchivo> prmCamposArchivo)
        {
            MODRespuestaAPI <bool> respuesta = null;
            string codigoMensaje             = "COMUNES.ERRORSERVICIO";

            try
            {
                if (prmCamposArchivo != null)
                {
                    bool            result         = false;
                    IArchivoNegocio usuarioNegocio = FabricaNegocio.CrearArchivoNegocio;
                    result    = usuarioNegocio.InsertarCamposArchivo(prmCamposArchivo);
                    respuesta = new MODRespuestaAPI <bool>(result);
                }
                else
                {
                    respuesta = new MODRespuestaAPI <bool>(HttpStatusCode.BadRequest, "ARCHIVO.RESPUESTAS.RTA010");
                }
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex, "ArchivoController.CrearCamposArchivo", JsonSerializer.Serialize(prmCamposArchivo), ErrorType.Error);
                respuesta = new MODRespuestaAPI <bool>(HttpStatusCode.InternalServerError, codigoMensaje);
            }
            finally
            {
                //Auditoria.
            }
            return(respuesta);
        }
        public MODRespuestaAPI <List <MODCamposArchivo> > ConsultarCamposArchivos(int prmIdArchivo)
        {
            MODRespuestaAPI <List <MODCamposArchivo> > respuesta = null;
            string codigoMensaje = "COMUNES.ERRORSERVICIO";

            try
            {
                if (prmIdArchivo > 0)
                {
                    IArchivoNegocio usuarioNegocio = FabricaNegocio.CrearArchivoNegocio;
                    var             camposArchivos = usuarioNegocio.ConsultarCamposArchivos(prmIdArchivo);
                    respuesta = new MODRespuestaAPI <List <MODCamposArchivo> >(camposArchivos);
                }
                else
                {
                    respuesta = new MODRespuestaAPI <List <MODCamposArchivo> >(HttpStatusCode.BadRequest, "ARCHIVO.RESPUESTAS.RTA009");
                }
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex, "ArchivoController.ConsultarCamposArchivos", JsonSerializer.Serialize(prmIdArchivo), ErrorType.Error);
                respuesta = new MODRespuestaAPI <List <MODCamposArchivo> >(HttpStatusCode.InternalServerError, codigoMensaje);
            }
            finally
            {
                //Auditoria.
            }
            return(respuesta);
        }
        public MODRespuestaAPI <long> CrearLogGeneracionArchivo(MODLogGeneracionArchivo prmLogGeneracionArchivo)
        {
            MODRespuestaAPI <long> respuesta = null;
            string codigoMensaje             = "COMUNES.ERRORSERVICIO";

            try
            {
                if (prmLogGeneracionArchivo != null)
                {
                    long            idLogArchivo   = 0;
                    IArchivoNegocio usuarioNegocio = FabricaNegocio.CrearArchivoNegocio;
                    idLogArchivo = usuarioNegocio.CrearLogGeneracionArchivo(prmLogGeneracionArchivo);
                    respuesta    = new MODRespuestaAPI <long>(idLogArchivo);
                }
                else
                {
                    respuesta = new MODRespuestaAPI <long>(HttpStatusCode.BadRequest, "ARCHIVO.RESPUESTAS.RTA007");
                }
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex, "ArchivoController.CrearLogGeneracionArchivo", JsonSerializer.Serialize(prmLogGeneracionArchivo), ErrorType.Error);
                respuesta = new MODRespuestaAPI <long>(HttpStatusCode.InternalServerError, codigoMensaje);
            }
            finally
            {
                //Auditoria.
            }
            return(respuesta);
        }
        public MODRespuestaAPI <bool> EliminarArchivo(long prmIdArchivo)
        {
            MODRespuestaAPI <bool> respuesta = null;
            string          codigoMensaje    = "COMUNES.ERRORSERVICIO";
            IArchivoNegocio archivoNegocio   = FabricaNegocio.CrearArchivoNegocio;

            try
            {
                if (prmIdArchivo > 0)
                {
                    var validacion = archivoNegocio.EliminarArchivo(prmIdArchivo);
                    if (validacion)
                    {
                        respuesta = new MODRespuestaAPI <bool>(true);
                    }
                    else
                    {
                        respuesta = new MODRespuestaAPI <bool>(HttpStatusCode.BadRequest, codigoMensaje);
                    }
                }
                else
                {
                    respuesta = new MODRespuestaAPI <bool>(HttpStatusCode.BadRequest, "ARCHIVO.RESPUESTAS.RTA005");
                }
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex, "UsuarioController.EliminarUsuario", JsonSerializer.Serialize(prmIdArchivo), ErrorType.Error);
                respuesta = new MODRespuestaAPI <bool>(HttpStatusCode.InternalServerError, codigoMensaje);
            }
            finally
            {
            }
            return(respuesta);
        }
        public MODRespuestaAPI <bool> ActualizarArchivo(MODArchivo prmArchivo)
        {
            MODRespuestaAPI <bool> respuesta = null;
            string codigoMensaje             = "COMUNES.ERRORSERVICIO";

            try
            {
                if (prmArchivo != null)
                {
                    bool            isUpdated;
                    IArchivoNegocio usuarioNegocio = FabricaNegocio.CrearArchivoNegocio;
                    isUpdated = usuarioNegocio.ActualizarArchivo(prmArchivo);
                    respuesta = new MODRespuestaAPI <bool>(isUpdated);
                }
                else
                {
                    respuesta = new MODRespuestaAPI <bool>(HttpStatusCode.BadRequest, "ARCHIVO.RESPUESTAS.RTA004");
                }
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex, "ArchivoController.ActualizarArchivo", JsonSerializer.Serialize(prmArchivo), ErrorType.Error);
                respuesta = new MODRespuestaAPI <bool>(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);
        }