/// <summary>
        /// Guarda Registro de los documentos cargados para el pase de salida
        /// </summary>
        /// <param name="documentos"></param>
        /// <returns></returns>
        public object GuardarDocumentoPaseSalida(List <DocumentoPosteado> documentos)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    int Folio = documentos[0].FolioAvisoLlegadaID.GetValueOrDefault();
                    //Actualizamos el dato de Pase Salida Enviado del Folio aviso Llegada
                    Sam3_FolioAvisoLlegada folioBd = ctx.Sam3_FolioAvisoLlegada.Where(x => x.FolioAvisoLlegadaID == Folio && x.Activo)
                                                     .AsParallel().SingleOrDefault();

                    foreach (DocumentoPosteado d in documentos)
                    {
                        int tipoArchivoId = ctx.Sam3_TipoArchivo.Where(x => x.Nombre == d.TipoArchivoPaseSalida && x.Activo).Select(x => x.TipoArchivoID)
                                            .AsParallel().SingleOrDefault();

                        Sam3_Rel_FolioAvisoLlegada_PaseSalida_Archivo nuevoDoc = new Sam3_Rel_FolioAvisoLlegada_PaseSalida_Archivo();
                        nuevoDoc.Activo              = true;
                        nuevoDoc.ContentType         = d.ContentType;
                        nuevoDoc.DocGuid             = d.DocGuid;
                        nuevoDoc.DocumentoID         = 0;
                        nuevoDoc.Extencion           = d.Extencion;
                        nuevoDoc.FechaModificacion   = DateTime.Now;
                        nuevoDoc.FolioAvisoLlegadaID = folioBd.FolioAvisoLlegadaID;
                        nuevoDoc.Nombre              = d.FileName;
                        nuevoDoc.TipoArchivoID       = tipoArchivoId;
                        nuevoDoc.Url = d.Path;
                        nuevoDoc.UsuarioModificacion = d.UserId;
                        nuevoDoc.IncidenciaID        = d.IncidenciaID == -1 ? null : d.IncidenciaID;

                        ctx.Sam3_Rel_FolioAvisoLlegada_PaseSalida_Archivo.Add(nuevoDoc);
                    }

                    ctx.SaveChanges();

                    return(true);
                }
            }
            catch (Exception ex)
            {
                //-----------------Agregar mensaje al Log -----------------------------------------------
                LoggerBd.Instance.EscribirLog(ex);
                //-----------------Agregar mensaje al Log -----------------------------------------------
                return(false);
            }
        }
        /// <summary>
        /// Elimina logicamente un documento de pase de salida
        /// </summary>
        /// <param name="documentoID"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public object EliminarDocumentoPaseSalida(int documentoID, Sam3_Usuario usuario)
        {
            try
            {
                using (SamContext ctx = new SamContext())
                {
                    Sam3_Rel_FolioAvisoLlegada_PaseSalida_Archivo docBd = ctx.Sam3_Rel_FolioAvisoLlegada_PaseSalida_Archivo
                                                                          .Where(x => x.Rel_Folio_PaseSalida_Archivo_ID == documentoID).AsParallel().SingleOrDefault();

                    docBd.Activo              = false;
                    docBd.FechaModificacion   = DateTime.Now;
                    docBd.UsuarioModificacion = usuario.UsuarioID;

                    ctx.SaveChanges();

                    TransactionalInformation result = new TransactionalInformation();
                    result.ReturnMessage.Add("Ok");
                    result.ReturnCode     = 200;
                    result.ReturnStatus   = false;
                    result.IsAuthenicated = true;

                    return(result);
                }
            }
            catch (Exception ex)
            {
                //-----------------Agregar mensaje al Log -----------------------------------------------
                LoggerBd.Instance.EscribirLog(ex);
                //-----------------Agregar mensaje al Log -----------------------------------------------
                TransactionalInformation result = new TransactionalInformation();
                result.ReturnMessage.Add(ex.Message);
                result.ReturnCode     = 500;
                result.ReturnStatus   = false;
                result.IsAuthenicated = true;

                return(result);
            }
        }