示例#1
0
        public static Agente Get(Type entityType, IAgenteHipatia hipatiaAgent, bool childs = false)
        {
            EntidadInfo entidad = EntidadInfo.Get(entityType);

            if (entidad.Oid != 0)
            {
                QueryConditions conditions = new QueryConditions()
                {
                    Entity        = entidad,
                    IHipatiaAgent = hipatiaAgent
                };

                Agente obj = Get(SELECT(conditions, false), childs);

                if (obj == null)
                {
                    throw new HipatiaException(String.Format(Resources.Messages.AGENTE_NOT_FOUND, hipatiaAgent.NombreHipatia), HipatiaCode.NO_AGENTE);
                }

                return(obj);
            }
            else
            {
                throw new HipatiaException(Resources.Messages.ENTIDAD_NOT_FOUND + entityType.ToString(), HipatiaCode.NO_ENTIDAD);
            }
        }
示例#2
0
 public static string SELECT(EntidadInfo source)
 {
     return(Agente.SELECT(new QueryConditions()
     {
         Entity = source
     }, true));
 }
示例#3
0
 public virtual void CopyFrom(EntidadInfo entity, IAgenteHipatia agent)
 {
     OidEntidad   = entity.Oid;
     OidAgenteExt = agent.Oid;
     Nombre       = agent.NombreHipatia;
     Fecha        = DateTime.Today;
     Entidad      = entity.Tipo;
 }
示例#4
0
        public static string GetAgenteDirectory(FtpClient ftp, AgenteInfo agente)
        {
            EntidadInfo entidad = EntidadInfo.Get(agente.OidEntidad, false);

            ExistsDirectory(ftp, entidad.Schema + "/" + agente.Codigo);

            return(entidad.Schema + "/" + agente.Codigo);
        }
示例#5
0
        internal void CopyValues(EntidadInfo source)
        {
            if (source == null)
            {
                return;
            }

            _record.CopyValues(source.Base.Record);
        }
示例#6
0
        public static string SELECT_BY_ENTIDAD(EntidadInfo entidad)
        {
            string query = string.Empty;

            QueryConditions conditions = new QueryConditions {
                Entity = entidad
            };

            query = Documento.SELECT_BY_ENTIDAD(conditions, false);

            return(query);
        }
示例#7
0
        public static string CreateAgentDirectory(FtpClient ftp, AgenteInfo agente)
        {
            if (!ExistsAgentDirectory(ftp, agente))
            {
                EntidadInfo entidad = EntidadInfo.Get(agente.OidEntidad, false);

                CreateDirectory(ftp, entidad.Schema + "/" + agente.Codigo);
                return(entidad.Schema + "/" + agente.Codigo);
            }

            return(string.Empty);
        }
示例#8
0
        public static AgenteList GetListByEntidad(EntidadInfo entidad)
        {
            CriteriaEx criteria = Agente.GetCriteria(Agente.OpenSession());

            criteria.Childs = false;

            //No criteria. Retrieve all de List
            if (nHManager.Instance.UseDirectSQL)
            {
                criteria.Query = AgenteList.SELECT(entidad);
            }

            AgenteList list = DataPortal.Fetch <AgenteList>(criteria);

            CloseSession(criteria.SessionCode);
            return(list);
        }
示例#9
0
        public static DocumentoList GetListByEntidad(EntidadInfo entidad)
        {
            CriteriaEx criteria = Documento.GetCriteria(Documento.OpenSession());

            criteria.Childs = false;

            QueryConditions conditions = new QueryConditions {
                Entity = entidad
            };

            criteria.Query = DocumentoList.SELECT_BY_ENTIDAD(conditions);

            DocumentoList list = DataPortal.Fetch <DocumentoList>(criteria);

            CloseSession(criteria.SessionCode);
            return(list);
        }
示例#10
0
        public static Agente Get(Type entityType, long oidHipatiaAgent, bool childs = false)
        {
            EntidadInfo entidad = EntidadInfo.Get(entityType);

            if (entidad.Oid != 0)
            {
                HipatiaAgentBase hipatiaAgent = new HipatiaAgentBase();
                hipatiaAgent.Oid = oidHipatiaAgent;

                QueryConditions conditions = new QueryConditions()
                {
                    Entity        = entidad,
                    IHipatiaAgent = hipatiaAgent
                };

                return(Get(SELECT(conditions, true), childs));
            }

            return(null);
        }
示例#11
0
        public static Agente New(Type entityType, IAgenteHipatia agent)
        {
            if (!CanAddObject())
            {
                throw new System.Security.SecurityException(Resources.Messages.USER_NOT_ALLOWED);
            }

            EntidadInfo entity = EntidadInfo.Get(entityType);

            if (entity.Oid != 0)
            {
                Agente obj = DataPortal.Create <Agente>(new CriteriaCs(-1));
                obj.CopyFrom(entity, agent);
                return(obj);
            }
            else
            {
                throw new HipatiaException(Resources.Messages.ENTIDAD_NOT_FOUND + entityType.ToString(), HipatiaCode.NO_ENTIDAD);
            }
        }
示例#12
0
 internal static string SELECT(long oid, bool lockTable)
 {
     return(SELECT(new QueryConditions {
         Entity = EntidadInfo.New(oid)
     }, lockTable));
 }
示例#13
0
 public static IAgenteHipatiaList GetAgentes(EntidadInfo entidad)
 {
     throw new iQImplementationException("AgenteSelectorBase::GetAgentes");
 }
示例#14
0
 public static string GetCode(EntidadInfo entidad, IAgenteHipatia agente_h)
 {
     return("GD#" + entidad.Oid.ToString("00") + agente_h.Oid.ToString("00000"));
 }
示例#15
0
        public static void Copy(FtpClient ftp, AgenteInfo agente, string origen)
        {
            EntidadInfo entidad = EntidadInfo.Get(agente.OidEntidad, false);

            ftp.UploadFile(origen, entidad.Schema + "/" + agente.Codigo + "/" + Path.GetFileName(origen));
        }