Example #1
0
        public void Delete_instanceServ(ref string ticket, ref ONOid agentOid, XmlReader xmlReader, XmlWriter xmlWriter, double dtdVersion, string clientName)
        {
            // Process the service arguments
            ONServiceInfo lSInfo = new ONServiceInfo("Clas_1348178411520734Ser_2_Alias", AeronaveClassText.Delete_instanceServiceAlias, "Clas_1348178411520734_Alias", AeronaveClassText.ClassAlias);
            lSInfo.AddOIDArgument("p_thisAeronave", false, "Aeronave", "Clas_1348178411520734Ser_2Arg_1_Alias", AeronaveClassText.Delete_instance_P_thisAeronaveArgumentAlias);

            try
            {
                lSInfo.XML2ON(xmlReader, dtdVersion, true);
            }
            catch (Exception e)
            {
                throw new ONServiceArgumentsException(e, "Clas_1348178411520734_Alias", AeronaveClassText.ClassAlias, "Clas_1348178411520734Ser_2_Alias", AeronaveClassText.Delete_instanceServiceAlias);
            }

            AeronaveOid lP_thisAeronaveArg = (AeronaveOid) ((ONArgumentInfo) lSInfo.mArgumentList["p_thisAeronave"]).Value;

            // Create Context
            ONServiceContext lOnContext = new ONServiceContext();
            lOnContext.OidAgent = agentOid;

            // Execute Service
            AeronaveInstance lInstance = null;
            try
            {
                ONFilterList lFilterList = new ONFilterList();
                AeronaveInstance lThisInstance = new AeronaveInstance(lOnContext);
                if (lP_thisAeronaveArg != null)
                {
                    lFilterList = new ONFilterList();
                    lFilterList.Add("HorizontalVisibility", new AeronaveHorizontalVisibility());
                    lThisInstance = lP_thisAeronaveArg.GetInstance(lOnContext, lFilterList);
                    if (lThisInstance == null)
                        throw new ONInstanceNotExistException(null, "Clas_1348178411520734_Alias", AeronaveClassText.ClassAlias);
                }

                using (AeronaveServer lServer = new AeronaveServer(lOnContext, lThisInstance))
                {
                    lServer.Delete_instanceServ(lP_thisAeronaveArg);
                    lInstance = lServer.Instance;
                }
                ticket = lOnContext.GetTicket(dtdVersion, clientName);
            }
            catch (SecurityException)
            {
                throw new ONAccessAgentValidationException(null);
            }
            catch
            {
                throw;
            }

            // Write Oid
            if (dtdVersion >= 3.1)
            {
                if (lInstance != null)
                    ON2XML(xmlWriter, lInstance.Oid, dtdVersion, ONXml.XMLTAG_OIDFIELD);
            }

            // Write Outbound Arguments
            xmlWriter.WriteStartElement("Arguments");
            // Write Outbound Arguments
            xmlWriter.WriteEndElement(); // Arguments
        }