Пример #1
0
        private RevisionedObject ResolveRDO(string rdo_type_name, string rdo_name, string rdo_revision, bool throwException)
        {
            RevisionedObject res = null;

            if (rdo_revision == null)
            {
                rdo_revision = "";
            }
            if (rdo_revision != "")
            {
                const string queryRDObyRevision = "ELEMENT (SELECT o FROM {0}Extent AS o WHERE o.RevBase.Name = $1 AND o.Revision = $2)";
                // Query from revision
                IQuery       oqlQuery = ObjScope.GetOqlQuery(string.Format(queryRDObyRevision, rdo_type_name));
                IQueryResult result   = oqlQuery.Execute(rdo_name, rdo_revision);
                if (result.Count > 0)
                {
                    res = result[0] as RevisionedObject;
                }
                result.Dispose();
            }
            else
            {
                res = (ResolveNDO(rdo_type_name + "Base", rdo_name, throwException) as RevisionBase).Current;
            }
            if (res == null && throwException == true)
            {
                throw new UOServiceException(string.Format(MSG.Object_not_found, string.Format("{0}({1})", rdo_name, rdo_revision), rdo_type_name));
            }
            return(res);
        }
Пример #2
0
        protected HoldReleaseHistory ResolveHoldHistory(Container co)
        {
            object       res      = null;
            IQuery       oqlQuery = ObjScope.GetOqlQuery(queryHoldHistory);
            IQueryResult result   = oqlQuery.Execute(co);

            if (result.Count > 0)
            {
                res = result[0];
            }
            result.Dispose();
            return(res as HoldReleaseHistory);
        }
Пример #3
0
        protected Container ResolveContainer(string container_name)
        {
            const string queryContainerByName = "ELEMENT (SELECT o FROM ContainerExtent AS o WHERE o.ContainerName = $1)";
            object       res      = null;
            IQuery       oqlQuery = ObjScope.GetOqlQuery(queryContainerByName);
            IQueryResult result   = oqlQuery.Execute(container_name);

            if (result.Count > 0)
            {
                res = result[0];
            }
            result.Dispose();
            return(res as Container);
        }
Пример #4
0
        private int RDOBaseUsageCount(RevisionedObject rdo_obj)
        {
            const string queryRDOBaseUsageCount = "SELECT COUNT(*) FROM {0}Extent AS o WHERE o.RevBase = $1";
            int          count    = 0;
            IQuery       oqlQuery = ObjScope.GetOqlQuery(string.Format(queryRDOBaseUsageCount, rdo_obj.GetType().Name));
            IQueryResult result   = oqlQuery.Execute(rdo_obj.RevBase);

            if (result.Count > 0)
            {
                count = (int)result[0];
            }
            result.Dispose();
            return(count);
        }
Пример #5
0
        private object ResolveNDO(string ndo_type_name, string ndo_name, bool throwException)
        {
            const string queryNDObyName = "ELEMENT (SELECT o FROM {0}Extent AS o WHERE o.Name = $1)";
            object       res            = null;
            IQuery       oqlQuery       = ObjScope.GetOqlQuery(string.Format(queryNDObyName, ndo_type_name));
            IQueryResult result         = oqlQuery.Execute(ndo_name);

            if (result.Count > 0)
            {
                res = result[0];
            }
            result.Dispose();
            if (res == null && throwException == true)
            {
                throw new UOServiceException(string.Format(MSG.Object_not_found, ndo_name, ndo_type_name));
            }
            return(res);
        }
Пример #6
0
        protected CurrentStatus ResolveCurrentStatus(CurrentStatus cs)
        {
            const string queryCurrentStatus =
                @"ELEMENT (SELECT * FROM CurrentStatusExtent AS o 
WHERE o.Workflow = $1 AND o.WorkflowStep = $2 AND o.CurrentStepPass = $3
  AND o.Spec = $4 AND o.InProcess = $5 AND o.Resource = $6 AND o.Factory = $7 )";
            object       res      = null;
            IQuery       oqlQuery = ObjScope.GetOqlQuery(queryCurrentStatus);
            IQueryResult result   = oqlQuery.Execute(cs.Workflow, cs.WorkflowStep, cs.CurrentStepPass,
                                                     cs.Spec, cs.InProcess, cs.Resource, cs.Factory);

            if (result.Count > 0)
            {
                res = result[0];
            }
            result.Dispose();
            return(res as CurrentStatus);
        }
Пример #7
0
 /// <summary>
 /// Libera a instancia.
 /// </summary>
 /// <param name="disposing"></param>
 protected virtual void Dispose(bool disposing)
 {
     _result.Dispose();
 }