コード例 #1
0
        ///<summary>
        /// This method builds the SQL statment to delete the instance in database
        ///</summary>
        ///<param name = instance>
        ///This parameter represents the instance to be deleted in the database
        ///</param>
        public override void UpdateDeleted(ONInstance instance)
        {
            PasajeroInstance lInstance = instance as PasajeroInstance;

            ONSqlDelete lOnSql = new ONSqlDelete();

            lOnSql.AddFrom(CtesBD.TBL_PASAJERO);
            lOnSql.AddWhere(CtesBD.FLD_PASAJERO_ID_PASAJERO, lInstance.Oid.Id_PasajeroAttr);
            Execute(lOnSql);
        }
コード例 #2
0
        ///<summary>
        /// This method builds the SQL statment to delete the instance in database
        ///</summary>
        ///<param name = instance>
        ///This parameter represents the instance to be deleted in the database
        ///</param>
        public override void UpdateDeleted(ONInstance instance)
        {
            AdministradorInstance lInstance = instance as AdministradorInstance;

            ONSqlDelete lOnSql = new ONSqlDelete();

            lOnSql.AddFrom(CtesBD.TBL_ADMINISTRADOR);
            lOnSql.AddWhere(CtesBD.FLD_ADMINISTRADOR_ID_ADMINISTRADOR, lInstance.Oid.Id_AdministradorAttr);
            Execute(lOnSql);
        }
コード例 #3
0
        ///<summary>
        /// This method builds the SQL statment to delete the instance in database
        ///</summary>
        ///<param name = instance>
        ///This parameter represents the instance to be deleted in the database
        ///</param>
        public override void UpdateDeleted(ONInstance instance)
        {
            NaveNodrizaInstance lInstance = instance as NaveNodrizaInstance;

            ONSqlDelete lOnSql = new ONSqlDelete();

            lOnSql.AddFrom(CtesBD.TBL_NAVENODRIZA);
            lOnSql.AddWhere(CtesBD.FLD_NAVENODRIZA_ID_NAVENODRIZA, lInstance.Oid.Id_NaveNodrizaAttr);
            Execute(lOnSql);
        }
コード例 #4
0
        ///<summary>
        /// This method builds the SQL statment to delete the instance in database
        ///</summary>
        ///<param name = instance>
        ///This parameter represents the instance to be deleted in the database
        ///</param>
        public override void UpdateDeleted(ONInstance instance)
        {
            RevisionInstance lInstance = instance as RevisionInstance;

            ONSqlDelete lOnSql = new ONSqlDelete();

            lOnSql.AddFrom(CtesBD.TBL_REVISION);
            lOnSql.AddWhere(CtesBD.FLD_REVISION_ID_REVISARAERONAVE, lInstance.Oid.Id_RevisarAeronaveAttr);
            Execute(lOnSql);
        }
コード例 #5
0
        public void LoadRelated(ONContext onContext, ONDisplaySet displaySet, object[] columns, int index, ONInstance instance)
        {
            // Related attributes
            for (; index < displaySet.ElementsInData; index++)
            {
                ONDisplaySetItem lDSItem   = displaySet[index];
                string           lTypeName = ONInstance.GetTypeOfAttribute(instance.GetType(), new ONPath(lDSItem.Path));

                instance.RelatedValues.Add(lDSItem.Path, ONDBData.GetBasicTypeFromDB(lTypeName, columns[index]));
            }
        }
コード例 #6
0
        /// <summary>
        /// Makes the memory checks
        /// </summary>
        /// <param name="instances">Instance to check</param>
        /// <returns>if the instance check all the filters</returns>
        public bool FilterInMemory(ONInstance instances)
        {
            foreach (ONFilter lOnFilter in Values)
            {
                if (!lOnFilter.FilterInMemory(instances))
                {
                    return(false);
                }
            }

            return(true);
        }
コード例 #7
0
        /// <summary>This method builds the SQL statement to insert the instance in database</summary>
        /// <param name="instance">This parameter represents the instance to be inserted in the database</param>
        public override void UpdateAdded(ONInstance instance)
        {
            NaveNodrizaInstance lInstance = instance as NaveNodrizaInstance;

            ONSqlInsert lOnSql = new ONSqlInsert();

            lOnSql.AddInto(CtesBD.TBL_NAVENODRIZA);
            // Field 'id_NaveNodriza'
            lOnSql.AddValue(CtesBD.FLD_NAVENODRIZA_ID_NAVENODRIZA, lInstance.Oid.Id_NaveNodrizaAttr);
            lOnSql.AddValue(CtesBD.FLD_NAVENODRIZA_ESTADOOBJ, lInstance.StateObj);
            lOnSql.AddValue(CtesBD.FLD_NAVENODRIZA_FUM, new ONDateTime(DateTime.Now));
            // Field 'Nombre_NaveNodriza'
            lOnSql.AddValue(CtesBD.FLD_NAVENODRIZA_NOMBRE_NAVENODRIZA, lInstance.Nombre_NaveNodrizaAttr);
            Execute(lOnSql);
        }
コード例 #8
0
        public Dictionary <ONOid, ONInstance> CopyInstances(object[] ActualValues)
        {
            Dictionary <ONOid, ONInstance> AntValues = new Dictionary <ONOid, ONInstance>();

            foreach (ONInstance lInstance in ActualValues)
            {
                if ((lInstance != null) && (!AntValues.ContainsKey(lInstance.Oid)))
                {
                    ONInstance lCopyInstance = ONContext.GetComponent_Instance(lInstance.ClassName, OnContext);
                    lCopyInstance.Copy(lInstance);
                    AntValues.Add(lCopyInstance.Oid, lCopyInstance);
                }
            }
            return(AntValues);
        }
コード例 #9
0
        /// <summary>This method builds the SQL statement to insert the instance in database</summary>
        /// <param name="instance">This parameter represents the instance to be inserted in the database</param>
        public override void UpdateAdded(ONInstance instance)
        {
            PasajeroInstance lInstance = instance as PasajeroInstance;

            ONSqlInsert lOnSql = new ONSqlInsert();

            lOnSql.AddInto(CtesBD.TBL_PASAJERO);
            // Field 'id_Pasajero'
            lOnSql.AddValue(CtesBD.FLD_PASAJERO_ID_PASAJERO, lInstance.Oid.Id_PasajeroAttr);
            lOnSql.AddValue(CtesBD.FLD_PASAJERO_ESTADOOBJ, lInstance.StateObj);
            lOnSql.AddValue(CtesBD.FLD_PASAJERO_FUM, new ONDateTime(DateTime.Now));
            // Field 'Nombre'
            lOnSql.AddValue(CtesBD.FLD_PASAJERO_NOMBRE, lInstance.NombreAttr);
            Execute(lOnSql);
        }
コード例 #10
0
        /// <summary>This method builds the SQL statement to insert the instance in database</summary>
        /// <param name="instance">This parameter represents the instance to be inserted in the database</param>
        public override void UpdateAdded(ONInstance instance)
        {
            AdministradorInstance lInstance = instance as AdministradorInstance;

            ONSqlInsert lOnSql = new ONSqlInsert();

            lOnSql.AddInto(CtesBD.TBL_ADMINISTRADOR);
            // Field 'id_Administrador'
            lOnSql.AddValue(CtesBD.FLD_ADMINISTRADOR_ID_ADMINISTRADOR, lInstance.Oid.Id_AdministradorAttr);
            // Field 'PassWord'
            lOnSql.AddValue(CtesBD.FLD_ADMINISTRADOR_PASSWORD, lInstance.PassWordAttr);
            lOnSql.AddValue(CtesBD.FLD_ADMINISTRADOR_ESTADOOBJ, lInstance.StateObj);
            lOnSql.AddValue(CtesBD.FLD_ADMINISTRADOR_FUM, new ONDateTime(DateTime.Now));
            Execute(lOnSql);
        }
コード例 #11
0
        public override bool FilterInMemory(ONInstance instance)
        {
            if (!InMemory)
            {
                return(true);
            }

            #region Horizontal visibility for agent 'Administrador'
            if (instance.OnContext.LeafActiveAgentFacets.Contains("Administrador"))
            {
                return(true);
            }
            #endregion Horizontal visibility for agent 'Administrador'


            return(false);
        }
コード例 #12
0
        /// <summary>This method builds the SQL statement to insert the instance in database</summary>
        /// <param name="instance">This parameter represents the instance to be inserted in the database</param>
        public override void UpdateAdded(ONInstance instance)
        {
            RevisionInstance lInstance = instance as RevisionInstance;

            ONSqlInsert lOnSql = new ONSqlInsert();

            lOnSql.AddInto(CtesBD.TBL_REVISION);
            // Field 'id_RevisarAeronave'
            lOnSql.AddValue(CtesBD.FLD_REVISION_ID_REVISARAERONAVE, lInstance.Oid.Id_RevisarAeronaveAttr);
            lOnSql.AddValue(CtesBD.FLD_REVISION_ESTADOOBJ, lInstance.StateObj);
            lOnSql.AddValue(CtesBD.FLD_REVISION_FUM, new ONDateTime(DateTime.Now));
            // Field 'NombreRevisor'
            lOnSql.AddValue(CtesBD.FLD_REVISION_NOMBREREVISOR, lInstance.NombreRevisorAttr);
            // Field 'FechaRevision'
            lOnSql.AddValue(CtesBD.FLD_REVISION_FECHAREVISION, lInstance.FechaRevisionAttr);
            // Field 'Id_Aeronave'
            lOnSql.AddValue(CtesBD.FLD_REVISION_ID_AERONAVE, lInstance.Id_AeronaveAttr);
            Execute(lOnSql);
        }
コード例 #13
0
        /// <summary>This method builds the SQL statement to edit the instance in database</summary>
        /// <param name="instance">This parameter represents the instance to be modified in the database</param>
        public override void UpdateEdited(ONInstance instance)
        {
            NaveNodrizaInstance lInstance = instance as NaveNodrizaInstance;

            ONSqlUpdate lOnSql = new ONSqlUpdate();

            lOnSql.AddUpdate(CtesBD.TBL_NAVENODRIZA);
            // Field 'id_NaveNodriza'
            // Update not needed (OID)
            lOnSql.AddSet(CtesBD.FLD_NAVENODRIZA_ESTADOOBJ, lInstance.StateObj);
            lOnSql.AddSet(CtesBD.FLD_NAVENODRIZA_FUM, new ONDateTime(DateTime.Now));
            // Field 'Nombre_NaveNodriza'
            if (lInstance.Nombre_NaveNodrizaAttrModified)
            {
                lOnSql.AddSet(CtesBD.FLD_NAVENODRIZA_NOMBRE_NAVENODRIZA, lInstance.Nombre_NaveNodrizaAttr);
            }

            lOnSql.AddWhere(CtesBD.FLD_NAVENODRIZA_ID_NAVENODRIZA, lInstance.Oid.Id_NaveNodrizaAttr);
            Execute(lOnSql);
        }
コード例 #14
0
        /// <summary>
        /// This method recovers an instance with the OID
        /// </summary>
        /// <param name="onContext">Recovers the context of the execution of the service</param>
        /// <param name="linkedTo">List to reach the class to retrieve the related instance</param>
        /// <param name="comparer">Order Criteria that must be followed</param>
        /// <param name="${startRowOid}">OID frontier</param>
        /// <param name="blockSize">Number of instances to be returned</param>
        /// <returns>The instance</returns>
        public override ONCollection FilterInLegacy(ONContext onContext, ONLinkedToList linkedTo, ONOrderCriteria comparer, ONOid startRowOID, int blockSize)
        {
            if (InData)
            {
                return(null);
            }

            // Add parameters
            object[] lParameters = new object[2];
            lParameters[0] = onContext;
            lParameters[1] = mOid;
            ONCollection lCollection = ONContext.GetComponent_Collection(mOid.ClassName, onContext);
            ONInstance   lInstance   = ONContext.InvoqueMethod(ONContext.GetType_LV(mOid.ClassName), "QueryByOid", lParameters) as ONInstance;

            if (lInstance != null)
            {
                lCollection.Add(lInstance);
            }
            return(lCollection);
        }
コード例 #15
0
        /// <summary>This method builds the SQL statement to edit the instance in database</summary>
        /// <param name="instance">This parameter represents the instance to be modified in the database</param>
        public override void UpdateEdited(ONInstance instance)
        {
            PasajeroInstance lInstance = instance as PasajeroInstance;

            ONSqlUpdate lOnSql = new ONSqlUpdate();

            lOnSql.AddUpdate(CtesBD.TBL_PASAJERO);
            // Field 'id_Pasajero'
            // Update not needed (OID)
            lOnSql.AddSet(CtesBD.FLD_PASAJERO_ESTADOOBJ, lInstance.StateObj);
            lOnSql.AddSet(CtesBD.FLD_PASAJERO_FUM, new ONDateTime(DateTime.Now));
            // Field 'Nombre'
            if (lInstance.NombreAttrModified)
            {
                lOnSql.AddSet(CtesBD.FLD_PASAJERO_NOMBRE, lInstance.NombreAttr);
            }

            lOnSql.AddWhere(CtesBD.FLD_PASAJERO_ID_PASAJERO, lInstance.Oid.Id_PasajeroAttr);
            Execute(lOnSql);
        }
コード例 #16
0
        /// <summary>This method builds the SQL statement to edit the instance in database</summary>
        /// <param name="instance">This parameter represents the instance to be modified in the database</param>
        public override void UpdateEdited(ONInstance instance)
        {
            AdministradorInstance lInstance = instance as AdministradorInstance;

            ONSqlUpdate lOnSql = new ONSqlUpdate();

            lOnSql.AddUpdate(CtesBD.TBL_ADMINISTRADOR);
            // Field 'id_Administrador'
            // Update not needed (OID)
            // Field 'PassWord'
            if (lInstance.PassWordAttrModified)
            {
                lOnSql.AddSet(CtesBD.FLD_ADMINISTRADOR_PASSWORD, lInstance.PassWordAttr);
            }
            lOnSql.AddSet(CtesBD.FLD_ADMINISTRADOR_ESTADOOBJ, lInstance.StateObj);
            lOnSql.AddSet(CtesBD.FLD_ADMINISTRADOR_FUM, new ONDateTime(DateTime.Now));

            lOnSql.AddWhere(CtesBD.FLD_ADMINISTRADOR_ID_ADMINISTRADOR, lInstance.Oid.Id_AdministradorAttr);
            Execute(lOnSql);
        }
コード例 #17
0
        /// <summary>This method builds the SQL statement to insert the instance in database</summary>
        /// <param name="instance">This parameter represents the instance to be inserted in the database</param>
        public override void UpdateAdded(ONInstance instance)
        {
            AeronaveInstance lInstance = instance as AeronaveInstance;

            ONSqlInsert lOnSql = new ONSqlInsert();

            lOnSql.AddInto(CtesBD.TBL_AERONAVE);
            // Field 'id_Aeronave'
            lOnSql.AddValue(CtesBD.FLD_AERONAVE_ID_AERONAVE, lInstance.Oid.Id_AeronaveAttr);
            lOnSql.AddValue(CtesBD.FLD_AERONAVE_ESTADOOBJ, lInstance.StateObj);
            lOnSql.AddValue(CtesBD.FLD_AERONAVE_FUM, new ONDateTime(DateTime.Now));
            // Field 'Nombre'
            lOnSql.AddValue(CtesBD.FLD_AERONAVE_NOMBRE, lInstance.NombreAttr);
            // Field 'MaximoPasajeros'
            lOnSql.AddValue(CtesBD.FLD_AERONAVE_MAXIMOPASAJEROS, lInstance.MaximoPasajerosAttr);
            // Field 'Origen'
            lOnSql.AddValue(CtesBD.FLD_AERONAVE_ORIGEN, lInstance.OrigenAttr);
            // Field 'Destino'
            lOnSql.AddValue(CtesBD.FLD_AERONAVE_DESTINO, lInstance.DestinoAttr);
            Execute(lOnSql);
        }
コード例 #18
0
        /// <summary>
        /// Throws the triggers that has been accepted
        /// </summary>
        public void ThrowAcceptedTriggers()
        {
            List <ONTrigger> lAcceptedTriggers = AcceptedTriggers;

            AcceptedTriggers = new List <ONTrigger>();

            foreach (ONTrigger lOnTrigger in lAcceptedTriggers)
            {
                try
                {
                    object[] lParameters = new object[lOnTrigger.InputParameters.Count + lOnTrigger.OutputParameters.Count];
                    int      i           = 0;


                    ONInstance lThis = null;

                    foreach (DictionaryEntry lDictionaryEntry in lOnTrigger.InputParameters)
                    {
                        lParameters[i++] = lDictionaryEntry.Value;

                        if (string.Compare((lDictionaryEntry.Key as string), lOnTrigger.ArgumentThisName, true) == 0)
                        {
                            lThis = (lDictionaryEntry.Value as ONOid).GetInstance(this);
                        }
                    }

                    foreach (DictionaryEntry lDictionaryEntry in lOnTrigger.OutputParameters)
                    {
                        lParameters[i++] = lDictionaryEntry.Value;
                    }

                    ONServiceContext lContext = new ONServiceContext();
                    lContext.OidAgent = OidAgent;
                    ONServer lComponent = ONContext.GetComponent_Server(lOnTrigger.ClassName, this, lThis);
                    ONContext.InvoqueMethod(lComponent, typeof(ONServiceAttribute), "<Class>" + lOnTrigger.ClassName + "</Class><Service>" + lOnTrigger.ServiceName + "</Service>", lParameters);
                }
                catch {}
            }
        }
コード例 #19
0
        public ONInstance LocalSearch(ONInstance instance)
        {
            ONSqlSelect onSql = new ONSqlSelect();

            // Create select and first table
            InhRetrieveInstances(onSql, null, null, OnContext);

            // Fix instance
            InhFixInstance(onSql, null, null, instance.Oid);

            // Execute
            ONCollection lCollection = ExecuteQuery(onSql, instance);

            if (lCollection.Count > 0)
            {
                return(lCollection[0]);
            }
            else
            {
                return(null);
            }
        }
コード例 #20
0
        /// <summary>
        /// Fix related instance
        /// </summary>
        /// <param name="onSql">Sentence SQL to be executed</param>
        /// <param name="linkedTo">List to reach the class to retrieve the related instance</param>
        protected bool AddLinkedTo(ONSqlSelect onSql, ONLinkedToList linkedTo)
        {
            // Fix related instance
            foreach (KeyValuePair <ONPath, ONOid> lDictionaryEntry in linkedTo)
            {
                ONPath lPath = lDictionaryEntry.Key as ONPath;
                ONOid  lOID  = lDictionaryEntry.Value as ONOid;

                string lAliasRelated = InhAddPath(onSql, lOID.ClassName, lPath, "", true);

                // Check Visibility
                if (!ONInstance.IsVisibleInv(ONContext.GetType_Instance(ClassName), lPath, OnContext))
                {
                    return(false);
                }

                ONDBData lData = ONContext.GetComponent_Data(lOID.ClassName, OnContext) as ONDBData;
                lData.InhFixInstance(onSql, null, lPath, lOID, true);
            }

            return(true);
        }
コード例 #21
0
        /// <summary>
        /// Controls the triggers of the model object
        /// </summary>
        public void CheckTriggers()
        {
            foreach (KeyValuePair <ONOid, ONAction> lDictionaryEntry in ModifiedClass)
            {
                ONAction lAction = lDictionaryEntry.Value;

                ONActionCacheItem lActionCacheItem = ONActionCacheItem.Get("Action", lAction.ClassName);
                lActionCacheItem.InvoqueTriggers(lAction, new object[] { lDictionaryEntry.Key });

                ONInstance lInstance = (lDictionaryEntry.Key as ONOid).GetInstance(lAction.OnContext);
                foreach (ONInstance lNetInstance in lInstance.GetFacets())
                {
                    if (((object)lNetInstance != null) && (lNetInstance.ClassName != lAction.Instance.ClassName))
                    {
                        // Create action class
                        ONAction lNetAction = ONContext.GetComponent_Action(lNetInstance.ClassName, lNetInstance.OnContext);
                        lNetAction.Instance = lNetInstance;
                        ONActionCacheItem lNetActionCacheItem = ONActionCacheItem.Get("Action", lNetInstance.ClassName);
                        lNetActionCacheItem.InvoqueTriggers(lNetAction, new object[] { lNetInstance.Oid });
                    }
                }
            }
        }
コード例 #22
0
        public static string RetrieveInstances(ONSqlSelect onSql, ONDisplaySet displaySet, ONPath onPath, ONContext onContext)
        {
            string       lAlias    = onSql.CreateAlias(CtesBD.TBL_AERONAVE, onPath, "Aeronave");
            ONDisplaySet lSourceDS = null;

            if (displaySet != null)
            {
                lSourceDS = new ONDisplaySet(displaySet);
                displaySet.Clear();
            }
            if (displaySet == null)
            {
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_AERONAVE_ID_AERONAVE + ", " + lAlias + "." + CtesBD.FLD_AERONAVE_ESTADOOBJ + ", " + lAlias + "." + CtesBD.FLD_AERONAVE_FUM + ", " + lAlias + "." + CtesBD.FLD_AERONAVE_MAXIMOPASAJEROS);
            }
            else
            {
                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_AERONAVE_ID_AERONAVE));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_AERONAVE_ID_AERONAVE);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_AERONAVE_ESTADOOBJ));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_AERONAVE_ESTADOOBJ);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_AERONAVE_FUM));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_AERONAVE_FUM);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_AERONAVE_MAXIMOPASAJEROS));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_AERONAVE_MAXIMOPASAJEROS);

                if (lSourceDS.Contains(CtesBD.FLD_AERONAVE_NOMBRE))
                {
                    displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_AERONAVE_NOMBRE));
                    onSql.AddSelect(lAlias + "." + CtesBD.FLD_AERONAVE_NOMBRE);
                }

                if (lSourceDS.Contains(CtesBD.FLD_AERONAVE_ORIGEN))
                {
                    displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_AERONAVE_ORIGEN));
                    onSql.AddSelect(lAlias + "." + CtesBD.FLD_AERONAVE_ORIGEN);
                }

                if (lSourceDS.Contains(CtesBD.FLD_AERONAVE_DESTINO))
                {
                    displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_AERONAVE_DESTINO));
                    onSql.AddSelect(lAlias + "." + CtesBD.FLD_AERONAVE_DESTINO);
                }
            }


            // Related attributes
            if (displaySet != null)
            {
                foreach (ONDisplaySetItem lDisplaySetItem in lSourceDS)
                {
                    if ((lDisplaySetItem.Path.IndexOf(".") > 0) && (lDisplaySetItem.InData) && (!lDisplaySetItem.HasHV))
                    {
                        displaySet.Add(lDisplaySetItem);

                        string lPath      = lDisplaySetItem.Path.Substring(0, lDisplaySetItem.Path.LastIndexOf("."));
                        string lFacetName = AeronaveInstance.GetTargetClass(onContext, typeof(AeronaveInstance), new ONPath(lDisplaySetItem.Path));
                        onSql.AddSelect(AddPath(onSql, JoinType.LeftJoin, lFacetName, new ONPath(lPath), onPath, "", false) + "." + ONInstance.GetFieldNameOfAttribute(typeof(AeronaveInstance), new ONPath(lDisplaySetItem.Path)));
                    }
                }
            }
            return(lAlias);
        }
コード例 #23
0
        /// <summary>
        /// Converts the instances returned by a query in XML format in order to put it in XML message response
        /// </summary>
        /// <param name="agentOid">OID with the agent connected to the system</param>
        /// <param name="xmlWriter">This parameter has the response message XML</param>
        /// <param name="val">Instances that fullfils with the query request</param>
        /// <param name="startRowOID">OID necessary to start the search</param>
        /// <param name="blockSize">Represents the number of instances to be returned</param>
        /// <param name="displaySet">Attributes to be returned in the response</param>
        /// <param name="dtdVersion">Version of DTD that follows the XML message</param>
        public override void ONQuery2XML(ONOid agentOid, XmlWriter xmlWriter, ONCollection val, ONOid startRowOID, int blockSize, ONDisplaySet displaySet, double dtdVersion)
        {
            xmlWriter.WriteStartElement("Head");
            xmlWriter.WriteStartElement("Head.OID");
            xmlWriter.WriteAttributeString("Class", "Pasajero");
            xmlWriter.WriteStartElement("Head.OID.Field");
            xmlWriter.WriteAttributeString("Name", "id_Pasajero");
            xmlWriter.WriteAttributeString("Type", "autonumeric");
            xmlWriter.WriteEndElement();             // Head.OID.Field

            xmlWriter.WriteEndElement();             // Head.OID

            xmlWriter.WriteStartElement("Head.Cols");
            foreach (ONDisplaySetItem lDisplaySetItem in displaySet)
            {
                xmlWriter.WriteStartElement("Head.Col");
                xmlWriter.WriteAttributeString("Name", lDisplaySetItem.Path);
                string lType = ONInstance.GetTypeOfAttribute(typeof(PasajeroInstance), new ONPath(lDisplaySetItem.Path));
                if (lType == "")
                {
                    lType = "string";
                }
                xmlWriter.WriteAttributeString("Type", lType);
                xmlWriter.WriteEndElement();         // Head.Col
            }
            xmlWriter.WriteEndElement();             // Head.Cols
            xmlWriter.WriteEndElement();             // Head

            // Search StartRow
            int i = 0;

            if (startRowOID != null)
            {
                i = val.IndexOf(startRowOID) + 1;
            }

            // Instance count
            int    lInstances    = 0;
            int    lNumInstances = 0;
            string lLastBlock    = "True";

            if (i >= 0)
            {
                lNumInstances = val.Count - i;
                if ((blockSize > 0) && (lNumInstances > blockSize))
                {
                    lNumInstances = blockSize;
                    lLastBlock    = "False";
                }
            }

            xmlWriter.WriteStartElement("Data");
            xmlWriter.WriteAttributeString("Rows", lNumInstances.ToString());
            xmlWriter.WriteAttributeString("LastBlock", lLastBlock);
            xmlWriter.WriteAttributeString("TotalRows", val.totalNumInstances.ToString());
            while ((lInstances++ < lNumInstances) && (i < val.Count))
            {
                PasajeroInstance lInstance = val[i++] as PasajeroInstance;

                xmlWriter.WriteStartElement("R");
                ONXmlAutonumeric.ON2XML(xmlWriter, lInstance.Oid.Id_PasajeroAttr, dtdVersion, ONXml.XMLTAG_O);


                foreach (ONDisplaySetItem lDisplaySetItem in displaySet)
                {
                    if (lDisplaySetItem.Visibility == VisibilityState.NotChecked)
                    {
                        if (ONInstance.IsVisible(lInstance.GetType(), lDisplaySetItem.Path, lInstance.OnContext))
                        {
                            lDisplaySetItem.Visibility = VisibilityState.Visible;
                        }
                        else
                        {
                            lDisplaySetItem.Visibility = VisibilityState.NotVisible;
                        }
                    }
                    if (lDisplaySetItem.Visibility == VisibilityState.NotVisible)                     // No Visibility
                    {
                        xmlWriter.WriteElementString("V", null);
                    }
                    else
                    {
                        ONSimpleType lAttribute;
                        if (lDisplaySetItem.HasHV)
                        {
                            lAttribute = lInstance.DisplaysetItemValue(lDisplaySetItem.Path);
                        }
                        else
                        {
                            lAttribute = lInstance[lDisplaySetItem.Path] as ONSimpleType;
                        }

                        if (lAttribute is ONInt)
                        {
                            ONXmlInt.ON2XML(xmlWriter, lAttribute as ONInt, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONString)
                        {
                            ONXmlString.ON2XML(xmlWriter, lAttribute as ONString, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONBlob)
                        {
                            ONXmlBlob.ON2XML(xmlWriter, lAttribute as ONBlob, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONBool)
                        {
                            ONXmlBool.ON2XML(xmlWriter, lAttribute as ONBool, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONReal)
                        {
                            ONXmlReal.ON2XML(xmlWriter, lAttribute as ONReal, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONInt)
                        {
                            ONXmlAutonumeric.ON2XML(xmlWriter, lAttribute as ONInt, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONDate)
                        {
                            ONXmlDate.ON2XML(xmlWriter, lAttribute as ONDate, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONDateTime)
                        {
                            ONXmlDateTime.ON2XML(xmlWriter, lAttribute as ONDateTime, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONTime)
                        {
                            ONXmlTime.ON2XML(xmlWriter, lAttribute as ONTime, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONNat)
                        {
                            ONXmlNat.ON2XML(xmlWriter, lAttribute as ONNat, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONText)
                        {
                            ONXmlText.ON2XML(xmlWriter, lAttribute as ONText, dtdVersion, ONXml.XMLTAG_V);
                        }
                        else if (lAttribute is ONString)
                        {
                            ONXmlPassword.ON2XML(xmlWriter, lAttribute as ONString, dtdVersion, ONXml.XMLTAG_V);
                        }
                    }
                }
                xmlWriter.WriteEndElement();         // R
            }
            xmlWriter.WriteEndElement();             // Data
        }
コード例 #24
0
 public override void UpdateDeleted(ONInstance instance)
 {
 }
コード例 #25
0
 public override void UpdateAdded(ONInstance instance)
 {
 }
コード例 #26
0
        public static string RetrieveInstances(ONSqlSelect onSql, ONDisplaySet displaySet, ONPath onPath, ONContext onContext)
        {
            string       lAlias    = onSql.CreateAlias(CtesBD.TBL_REVISION, onPath, "Revision");
            ONDisplaySet lSourceDS = null;

            if (displaySet != null)
            {
                lSourceDS = new ONDisplaySet(displaySet);
                displaySet.Clear();
            }
            if (displaySet == null)
            {
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_REVISION_ID_REVISARAERONAVE + ", " + lAlias + "." + CtesBD.FLD_REVISION_ESTADOOBJ + ", " + lAlias + "." + CtesBD.FLD_REVISION_FUM + ", " + lAlias + "." + CtesBD.FLD_REVISION_NOMBREREVISOR + ", " + lAlias + "." + CtesBD.FLD_REVISION_FECHAREVISION + ", " + lAlias + "." + CtesBD.FLD_REVISION_ID_AERONAVE);
            }
            else
            {
                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_REVISION_ID_REVISARAERONAVE));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_REVISION_ID_REVISARAERONAVE);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_REVISION_ESTADOOBJ));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_REVISION_ESTADOOBJ);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_REVISION_FUM));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_REVISION_FUM);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_REVISION_NOMBREREVISOR));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_REVISION_NOMBREREVISOR);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_REVISION_FECHAREVISION));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_REVISION_FECHAREVISION);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_REVISION_ID_AERONAVE));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_REVISION_ID_AERONAVE);
            }


            // Related attributes
            if (displaySet != null)
            {
                foreach (ONDisplaySetItem lDisplaySetItem in lSourceDS)
                {
                    if ((lDisplaySetItem.Path.IndexOf(".") > 0) && (lDisplaySetItem.InData) && (!lDisplaySetItem.HasHV))
                    {
                        displaySet.Add(lDisplaySetItem);

                        string lPath      = lDisplaySetItem.Path.Substring(0, lDisplaySetItem.Path.LastIndexOf("."));
                        string lFacetName = RevisionInstance.GetTargetClass(onContext, typeof(RevisionInstance), new ONPath(lDisplaySetItem.Path));
                        onSql.AddSelect(AddPath(onSql, JoinType.LeftJoin, lFacetName, new ONPath(lPath), onPath, "", false) + "." + ONInstance.GetFieldNameOfAttribute(typeof(RevisionInstance), new ONPath(lDisplaySetItem.Path)));
                    }
                }
            }
            return(lAlias);
        }
コード例 #27
0
 public override void UpdateEdited(ONInstance instance)
 {
 }
コード例 #28
0
        public static string RetrieveInstances(ONSqlSelect onSql, ONDisplaySet displaySet, ONPath onPath, ONContext onContext)
        {
            string       lAlias    = onSql.CreateAlias(CtesBD.TBL_ADMINISTRADOR, onPath, "Administrador");
            ONDisplaySet lSourceDS = null;

            if (displaySet != null)
            {
                lSourceDS = new ONDisplaySet(displaySet);
                displaySet.Clear();
            }
            if (displaySet == null)
            {
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_ADMINISTRADOR_ID_ADMINISTRADOR + ", " + lAlias + "." + CtesBD.FLD_ADMINISTRADOR_PASSWORD + ", " + lAlias + "." + CtesBD.FLD_ADMINISTRADOR_ESTADOOBJ + ", " + lAlias + "." + CtesBD.FLD_ADMINISTRADOR_FUM);
            }
            else
            {
                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_ADMINISTRADOR_ID_ADMINISTRADOR));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_ADMINISTRADOR_ID_ADMINISTRADOR);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_ADMINISTRADOR_PASSWORD));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_ADMINISTRADOR_PASSWORD);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_ADMINISTRADOR_ESTADOOBJ));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_ADMINISTRADOR_ESTADOOBJ);

                displaySet.Add(new ONDisplaySetItem(CtesBD.FLD_ADMINISTRADOR_FUM));
                onSql.AddSelect(lAlias + "." + CtesBD.FLD_ADMINISTRADOR_FUM);
            }


            // Related attributes
            if (displaySet != null)
            {
                foreach (ONDisplaySetItem lDisplaySetItem in lSourceDS)
                {
                    if ((lDisplaySetItem.Path.IndexOf(".") > 0) && (lDisplaySetItem.InData) && (!lDisplaySetItem.HasHV))
                    {
                        displaySet.Add(lDisplaySetItem);

                        string lPath      = lDisplaySetItem.Path.Substring(0, lDisplaySetItem.Path.LastIndexOf("."));
                        string lFacetName = AdministradorInstance.GetTargetClass(onContext, typeof(AdministradorInstance), new ONPath(lDisplaySetItem.Path));
                        onSql.AddSelect(AddPath(onSql, JoinType.LeftJoin, lFacetName, new ONPath(lPath), onPath, "", false) + "." + ONInstance.GetFieldNameOfAttribute(typeof(AdministradorInstance), new ONPath(lDisplaySetItem.Path)));
                    }
                }
            }
            return(lAlias);
        }
コード例 #29
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="onContext">Context of the execution of the request</param>
 /// <param name="instance">THIS Instance</param>
 /// <param name="className">Name of the class that has the services</param>
 public ONServer(ONServiceContext onContext, ONInstance instance, string className)
 {
     ClassName = className;
     OnContext = onContext;
     Instance  = instance;
 }
コード例 #30
0
 /// <summary>
 /// Makes the memory checks
 /// </summary>
 /// <param name="instance">Instance to check</param>
 /// <returns>if the instance it check the filter</returns>
 public virtual bool FilterInMemory(ONInstance instance)
 {
     return(true);
 }