예제 #1
0
 public void SetPasswordServ(
     [ONInboundArgument("Clas_1348605050880238Ser_4Arg_1_Alias", AdministradorClassText.SetPassword_P_thisAdministradorArgumentAlias, "", "Clas_1348605050880238Ser_4_Alias", AdministradorClassText.SetPasswordServiceAlias, "Clas_1348605050880238_Alias", AdministradorClassText.ClassAlias, AllowsNull = false)] AdministradorOid p_thisAdministradorArg,
     [ONInboundArgument("Clas_1348605050880238Ser_4Arg_2_Alias", AdministradorClassText.SetPassword_P_NewPasswordArgumentAlias, "password", "Clas_1348605050880238Ser_4_Alias", AdministradorClassText.SetPasswordServiceAlias, "Clas_1348605050880238_Alias", AdministradorClassText.ClassAlias, Length = AdministradorXml.LENGTHPASSWORDADMINISTRADOR, AllowsNull = false)] ONString p_NewPasswordArg)
 {
     try
     {
         //Cipher password argument
         ONString lPassword = new ONString(ONSecureControl.CipherPassword(p_NewPasswordArg.TypedValue));
         //Update Attribute
         Instance.PassWordAttr = lPassword;
     }
     catch (Exception e)
     {
         if (e is ONException)
         {
             throw e;
         }
         else
         {
             string ltraceItem = "Definition class: Administrador, Service: setPassword, Component: AdministradorAction, Method: SetPasswordServ";
             if (e is ONSystemException)
             {
                 ONSystemException lException = e as ONSystemException;
                 lException.addTraceInformation(ltraceItem);
                 throw lException;
             }
             throw new ONSystemException(e, ltraceItem);
         }
     }
 }
예제 #2
0
 public void Edit_instanceServ(
     [ONInboundArgument("Clas_1348605050880238Ser_3Arg_1_Alias", AdministradorClassText.Edit_instance_P_thisAdministradorArgumentAlias, "", "Clas_1348605050880238Ser_3_Alias", AdministradorClassText.Edit_instanceServiceAlias, "Clas_1348605050880238_Alias", AdministradorClassText.ClassAlias, AllowsNull = false)] AdministradorOid p_thisAdministradorArg)
 {
     try
     {
     }
     catch (Exception e)
     {
         if (e is ONException)
         {
             throw e;
         }
         else
         {
             string ltraceItem = "Definition class: Administrador, Service: edit_instance, Component: AdministradorAction, Method: Edit_instanceServ";
             if (e is ONSystemException)
             {
                 ONSystemException lException = e as ONSystemException;
                 lException.addTraceInformation(ltraceItem);
                 throw lException;
             }
             throw new ONSystemException(e, ltraceItem);
         }
     }
 }
예제 #3
0
        public void Delete_instanceServ(
            [ONInboundArgument("Clas_1348605050880238Ser_2Arg_1_Alias", AdministradorClassText.Delete_instance_P_thisAdministradorArgumentAlias, "", "Clas_1348605050880238Ser_2_Alias", AdministradorClassText.Delete_instanceServiceAlias, "Clas_1348605050880238_Alias", AdministradorClassText.ClassAlias, AllowsNull = false)] AdministradorOid p_thisAdministradorArg)
        {
            try
            {
                AdministradorData lData = new AdministradorData(OnContext);


                // Delete instance
                lData.UpdateDeleted(Instance);
            }
            catch (Exception e)
            {
                if (e is ONException)
                {
                    throw e;
                }
                else
                {
                    string ltraceItem = "Definition class: Administrador, Service: delete_instance, Component: AdministradorAction, Method: Delete_instanceServ";
                    if (e is ONSystemException)
                    {
                        ONSystemException lException = e as ONSystemException;
                        lException.addTraceInformation(ltraceItem);
                        throw lException;
                    }
                    throw new ONSystemException(e, ltraceItem);
                }
            }
        }
예제 #4
0
        /// <summary>
        /// Execute a query to retrieve an instance.
        /// </summary>
        /// <param name="context">Current context.</param>
        /// <returns>A DataTable with the instance searched.</returns>
        public static DataTable ExecuteQueryInstance(IUQueryContext context)
        {
            AdministradorOid lOid = null;

            if (context.ExchangeInformation != null && context.ExchangeInformation.SelectedOids.Count > 0)
            {
                lOid = new AdministradorOid(context.ExchangeInformation.SelectedOids[0]);
            }
            return(ExecuteQueryInstance(context.Agent, lOid, context.DisplaySetAttributes));
        }
예제 #5
0
        public void MVAgentValidationServ(AdministradorOid agentOid, ONString passwordArg)
        {
            passwordArg.TypedValue = ONSecureControl.CipherPassword(passwordArg.TypedValue);
            ONString lPassword = new ONString((Instance.PassWordAttr));

            if (!((lPassword.TypedValue == passwordArg.TypedValue) && (string.Compare(agentOid.ClassName, "Administrador", true) == 0)))
            {
                throw new ONAgentValidationException(null);
            }
            OnContext.OidAgent = agentOid;
        }
        public override void Copy(ONInstance instance)
        {
            AdministradorInstance linstance = instance as AdministradorInstance;

            Oid = new AdministradorOid(linstance.Oid);

            PassWordAttr = linstance.PassWordAttr;
            StateObj     = new ONString(linstance.StateObj);

            base.Copy(instance);
        }
예제 #7
0
        internal void Delete_instanceServ(AdministradorOid p_thisAdministradorArg)
        {
            if (Instance != null)
            {
                ONFilterList onfilt = new ONFilterList();
                onfilt.Add("QueryByOid", new QueryByOidFilter(Instance.Oid));
                Instance.Find(onfilt);
            }
            // Execute service
            AdministradorAction lAction = new AdministradorAction(OnContext);

            lAction.Instance = Instance;
            lAction.Delete_instanceServ(p_thisAdministradorArg);
        }
예제 #8
0
        internal void SetPasswordServ(AdministradorOid p_thisAdministradorArg, ONString p_NewPasswordArg)
        {
            if (Instance != null)
            {
                ONFilterList onfilt = new ONFilterList();
                onfilt.Add("QueryByOid", new QueryByOidFilter(Instance.Oid));
                Instance.Find(onfilt);
            }
            // Execute service
            AdministradorAction lAction = new AdministradorAction(OnContext);

            lAction.Instance = Instance;
            lAction.SetPasswordServ(p_thisAdministradorArg, p_NewPasswordArg);
        }
예제 #9
0
        public void Delete_instanceServ(AdministradorOid p_thisAdministradorArg)
        {
            // Create new context
            using (ONServiceContext lOnContext = new ONServiceContext(OnContext))
            {
                // Change to Transactional OnContext
                Instance.OnContext = lOnContext;

                // Call Executive
                AdministradorExecutive lExecutive = new AdministradorExecutive();
                lExecutive.OnContext = lOnContext;
                lExecutive.Instance  = Instance;
                lExecutive.Delete_instanceServ(p_thisAdministradorArg);

                // Change to Non-Transactional OnContext
                Instance.OnContext = OnContext;
            }
        }
예제 #10
0
        public void SetPasswordServ(AdministradorOid p_thisAdministradorArg, ONString p_NewPasswordArg)
        {
            // Create new context
            using (ONServiceContext lOnContext = new ONServiceContext(OnContext))
            {
                // Change to Transactional OnContext
                Instance.OnContext = lOnContext;

                // Call Executive
                AdministradorExecutive lExecutive = new AdministradorExecutive();
                lExecutive.OnContext = lOnContext;
                lExecutive.Instance  = Instance;
                lExecutive.SetPasswordServ(p_thisAdministradorArg, p_NewPasswordArg);

                // Change to Non-Transactional OnContext
                Instance.OnContext = OnContext;
            }
        }
예제 #11
0
        /// <summary>
        /// Execute a query to retrieve a set of instances, without any condition.
        /// </summary>
        /// <param name="context">Current context.</param>
        /// <returns>A DataTable with the instances searched.</returns>
        public static DataTable ExecuteQueryPopulation(IUPopulationContext context)
        {
            // Last Oid
            AdministradorOid lLastOid = null;

            if (context.LastOids.Count > 0)
            {
                lLastOid = new AdministradorOid(context.LastOids.Peek());
            }

            // Last Block
            bool lLastBlock = true;
            NavigationalFiltering navigationalFiltering = NavigationalFiltering.GetNavigationalFiltering(context);
            DataTable             lDataTable            = ExecuteQueryRelated(context.Agent, new Dictionary <string, Oid>(), context.DisplaySetAttributes, context.OrderCriteriaNameSelected, navigationalFiltering, lLastOid, context.BlockSize, ref lLastBlock);

            context.LastBlock = lLastBlock;

            return(lDataTable);
        }
예제 #12
0
        /// <summary>
        /// Execute a query related with other instance.
        /// </summary>
        /// <param name="context">Current context.</param>
        /// <returns>A DataTable with the instances searched.</returns>
        public static DataTable ExecuteQueryRelated(IUQueryContext context)
        {
            try
            {
                ExchangeInfo lExchangeInfo = context.ExchangeInformation;

                if (lExchangeInfo.ExchangeType != ExchangeType.Navigation || lExchangeInfo.SelectedOids.Count == 0)
                {
                    return(null);
                }

                IUPopulationContext lIUContext = context as IUPopulationContext;
                int blockSize = 1;
                if (lIUContext != null)
                {
                    blockSize = lIUContext.BlockSize;
                }
                ExchangeInfoNavigation lNavInfo = lExchangeInfo as ExchangeInfoNavigation;
                // Specific case. No role name indicates Query by Instance.
                if (lNavInfo.RolePath == "")
                {
                    if (lIUContext != null)
                    {
                        lIUContext.LastBlock = true;
                    }

                    AdministradorOid lOidInstance = new AdministradorOid(lNavInfo.SelectedOids[0]);
                    return(ExecuteQueryInstance(context.Agent, lOidInstance, context.DisplaySetAttributes));
                }

                // Get link items.
                Oid lOid = lNavInfo.SelectedOids[0];
                Dictionary <string, Oid> lLinkItems = new Dictionary <string, Oid>(StringComparer.CurrentCultureIgnoreCase);
                lLinkItems.Add(lNavInfo.RolePath, lOid);

                bool             lLastBlock     = true;
                AdministradorOid lLastOid       = null;
                string           lOrderCriteria = string.Empty;

                // Get population members.
                if (lIUContext != null)
                {
                    if (lIUContext.LastOid != null)
                    {
                        lLastOid = new AdministradorOid(lIUContext.LastOid);
                    }
                    lOrderCriteria = lIUContext.OrderCriteriaNameSelected;
                }
                NavigationalFiltering navigationalFiltering = NavigationalFiltering.GetNavigationalFiltering(context);
                DataTable             lDataTable            = ExecuteQueryRelated(context.Agent, lLinkItems, context.DisplaySetAttributes, lOrderCriteria, navigationalFiltering, lLastOid, blockSize, ref lLastBlock);

                if (lIUContext != null)
                {
                    lIUContext.LastBlock = lLastBlock;
                }

                return(lDataTable);
            }
            catch (Exception e)
            {
                ScenarioManager.LaunchErrorScenario(e);
                return(null);
            }
        }
 /// <summary>Default Constructor</summary>
 public AdministradorInstance(ONContext onContext) : base(onContext, "Administrador", "Clas_1348605050880238_Alias")
 {
     Oid = new AdministradorOid();
     StateObjAttrTemp = null;
 }
예제 #14
0
 /// <summary>This method adds to the SQL statement the part that fixes the instance</summary>
 /// <param name="onSql">This parameter has the current SQL statement</param>
 /// <param name="onPath">Path to add to SQL statement</param>
 /// <param name="processedOnPath">Path pocessed until the call of this method</param>
 /// <param name="oid">OID to fix the instance in the SQL statement</param>
 /// <param name="isLinkedTo">The alias belongs to a role in a linked To element</param>
 public static void FixInstance(ONSqlSelect onSql, ONPath onPath, ONPath processedOnPath, AdministradorOid oid, bool isLinkedTo)
 {
     if ((onPath != null) && (string.Compare(onPath.Path, "agent", true) == 0))
     {
         if (onSql.GetParameter("agent") == null)
         {
             string lAlias = AddPath(onSql, JoinType.InnerJoin, "Administrador", onPath, processedOnPath, "Administrador", false, isLinkedTo);
             onSql.AddWhere(lAlias + "." + CtesBD.FLD_ADMINISTRADOR_ID_ADMINISTRADOR + " = ?");
             onSql.AddWhereParameter("agent", oid.Id_AdministradorAttr);
         }
     }
     else
     {
         string lAlias = AddPath(onSql, JoinType.InnerJoin, "Administrador", onPath, processedOnPath, "", false, isLinkedTo);
         onSql.AddWhere(lAlias + "." + CtesBD.FLD_ADMINISTRADOR_ID_ADMINISTRADOR + " = ?");
         onSql.AddWhereParameter("", oid.Id_AdministradorAttr);
     }
 }
예제 #15
0
 /// <summary>This method adds to the SQL statement the part that fixes the instance</summary>
 /// <param name="onSql">This parameter has the current SQL statement</param>
 /// <param name="onPath">Path to add to SQL statement</param>
 /// <param name="processedOnPath">Path pocessed until the call of this method</param>
 /// <param name="oid">OID to fix the instance in the SQL statement</param>
 public static void FixInstance(ONSqlSelect onSql, ONPath onPath, ONPath processedOnPath, AdministradorOid oid)
 {
     FixInstance(onSql, onPath, processedOnPath, oid, false);
 }
예제 #16
0
 /// <summary>
 /// Execute a query to retrieve an instance.
 /// </summary>
 /// <param name="agent">Application agent.</param>
 /// <param name="oid">Specific 'AdministradorOid' Oid of the instance to be searched.</param>
 /// <param name="displaySet">Display set that will be retrieved.</param>
 /// <returns>A DataTable with the instance searched.</returns>
 public static DataTable ExecuteQueryInstance(Oid agent, AdministradorOid oid, string displaySet)
 {
     return(Logic.Adaptor.ExecuteQueryInstance(agent, "Administrador", string.Empty, oid, displaySet));
 }
예제 #17
0
 /// <summary>
 /// Execute a query to retrieve a set of instances, without any condition.
 /// </summary>
 /// <param name="agent">Application agent.</param>
 /// <param name="displaySet">List of attributes to return.</param>
 /// <param name="orderCriteria">Order criteria name.</param>
 /// <param name="lastOid">Oid from which to search (not included).</param>
 /// <param name="blockSize">Number of instances to return (0 for all population).</param>
 /// <returns>A DataTable with the instances searched.</returns>
 public static DataTable ExecuteQueryPopulation(Oid agent, string displaySet, string orderCriteria, AdministradorOid lastOid, int blockSize, ref bool lastBlock)
 {
     return(ExecuteQueryRelated(agent, new Dictionary <string, Oid>(), displaySet, orderCriteria, lastOid, blockSize, ref lastBlock));
 }
예제 #18
0
        /// <summary>
        /// Execute a query related with other instance.
        /// </summary>
        /// <param name="agent">Application agent.</param>
        /// <param name="linkItems">List of related instance oids (path - role).</param>
        /// <param name="displaySet">List of attributes to return.</param>
        /// <param name="orderCriteria">Order criteria name.</param>
        /// <param name="lastOid">Oid from which to search (not included).</param>
        /// <param name="blockSize">Number of instances to return (0 for all population).</param>
        /// <param name="lastBlock">Return it is last block.</param>
        /// <returns>A DataTable with the instances searched.</returns>
        public static DataTable ExecuteQueryRelated(Oid agent, Dictionary <string, Oid> linkItems, string displaySet, string orderCriteria, AdministradorOid lastOid, int blockSize, ref bool lastBlock)
        {
            DataTable lDataTable = Logic.Adaptor.ExecuteQueryRelated(agent, "Administrador", linkItems, displaySet, orderCriteria, lastOid, blockSize);

            // Last block.
            if (lDataTable.ExtendedProperties.Contains("LastBlock"))
            {
                lastBlock = (bool)lDataTable.ExtendedProperties["LastBlock"];
            }
            else
            {
                lastBlock = false;
            }

            return(lDataTable);
        }