예제 #1
0
        public void Create_instanceServ(ref string ticket, ref ONOid agentOid, XmlReader xmlReader, XmlWriter xmlWriter, double dtdVersion, string clientName)
        {
            // Process the service arguments
            ONServiceInfo lSInfo = new ONServiceInfo("Clas_1348178542592177Ser_1_Alias", PasajeroAeronaveClassText.Create_instanceServiceAlias, "Clas_1348178542592177_Alias", PasajeroAeronaveClassText.ClassAlias);

            lSInfo.AddOIDArgument("p_agrAeronave", true, "Aeronave", "Clas_1348178542592177Ser_1Arg_5_Alias", PasajeroAeronaveClassText.Create_instance_P_agrAeronaveArgumentAlias);
            lSInfo.AddOIDArgument("p_agrPasajero", true, "Pasajero", "Clas_1348178542592177Ser_1Arg_6_Alias", PasajeroAeronaveClassText.Create_instance_P_agrPasajeroArgumentAlias);
            lSInfo.AddDataValuedArgument("p_atrid_PasajeroAeronave", false, DataTypeEnumerator.Autonumeric, 0, "Clas_1348178542592177Ser_1Arg_1_Alias", PasajeroAeronaveClassText.Create_instance_P_atrid_PasajeroAeronaveArgumentAlias);
            lSInfo.AddDataValuedArgument("p_atrNombreAeronave", false, DataTypeEnumerator.String, 100, "Clas_1348178542592177Ser_1Arg_8_Alias", PasajeroAeronaveClassText.Create_instance_P_atrNombreAeronaveArgumentAlias);
            lSInfo.AddDataValuedArgument("p_atrNombrePasajero", false, DataTypeEnumerator.String, 100, "Clas_1348178542592177Ser_1Arg_9_Alias", PasajeroAeronaveClassText.Create_instance_P_atrNombrePasajeroArgumentAlias);

            try
            {
                lSInfo.XML2ON(xmlReader, dtdVersion, true);
            }
            catch (Exception e)
            {
                throw new ONServiceArgumentsException(e, "Clas_1348178542592177_Alias", PasajeroAeronaveClassText.ClassAlias, "Clas_1348178542592177Ser_1_Alias", PasajeroAeronaveClassText.Create_instanceServiceAlias);
            }

            AeronaveOid lP_agrAeronaveArg            = (AeronaveOid)((ONArgumentInfo)lSInfo.mArgumentList["p_agrAeronave"]).Value;
            PasajeroOid lP_agrPasajeroArg            = (PasajeroOid)((ONArgumentInfo)lSInfo.mArgumentList["p_agrPasajero"]).Value;
            ONInt       lP_atrid_PasajeroAeronaveArg = (ONInt)((ONArgumentInfo)lSInfo.mArgumentList["p_atrid_PasajeroAeronave"]).Value;
            ONString    lP_atrNombreAeronaveArg      = (ONString)((ONArgumentInfo)lSInfo.mArgumentList["p_atrNombreAeronave"]).Value;
            ONString    lP_atrNombrePasajeroArg      = (ONString)((ONArgumentInfo)lSInfo.mArgumentList["p_atrNombrePasajero"]).Value;

            // Create Context
            ONServiceContext lOnContext = new ONServiceContext();

            lOnContext.OidAgent = agentOid;

            // Execute Service
            PasajeroAeronaveInstance lInstance = null;

            try
            {
                ONFilterList     lFilterList            = new ONFilterList();
                AeronaveInstance lp_agrAeronaveInstance = new AeronaveInstance(lOnContext);
                if (lP_agrAeronaveArg != null)
                {
                    lFilterList = new ONFilterList();
                    lFilterList.Add("HorizontalVisibility", new AeronaveHorizontalVisibility());
                    lp_agrAeronaveInstance = lP_agrAeronaveArg.GetInstance(lOnContext, lFilterList);
                    if (lp_agrAeronaveInstance == null)
                    {
                        throw new ONInstanceNotExistException(null, "Clas_1348178411520734_Alias", AeronaveClassText.ClassAlias);
                    }
                }

                PasajeroInstance lp_agrPasajeroInstance = new PasajeroInstance(lOnContext);
                if (lP_agrPasajeroArg != null)
                {
                    lFilterList = new ONFilterList();
                    lFilterList.Add("HorizontalVisibility", new PasajeroHorizontalVisibility());
                    lp_agrPasajeroInstance = lP_agrPasajeroArg.GetInstance(lOnContext, lFilterList);
                    if (lp_agrPasajeroInstance == null)
                    {
                        throw new ONInstanceNotExistException(null, "Clas_1348178542592658_Alias", PasajeroClassText.ClassAlias);
                    }
                }

                using (PasajeroAeronaveServer lServer = new PasajeroAeronaveServer(lOnContext, null))
                {
                    lServer.Create_instanceServ(lP_agrAeronaveArg, lP_agrPasajeroArg, lP_atrid_PasajeroAeronaveArg, lP_atrNombreAeronaveArg, lP_atrNombrePasajeroArg);
                    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
        }
예제 #2
0
        public void Edit_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_3_Alias", AeronaveClassText.Edit_instanceServiceAlias, "Clas_1348178411520734_Alias", AeronaveClassText.ClassAlias);

            lSInfo.AddOIDArgument("p_thisAeronave", false, "Aeronave", "Clas_1348178411520734Ser_3Arg_1_Alias", AeronaveClassText.Edit_instance_P_thisAeronaveArgumentAlias);

            try
            {
                lSInfo.XML2ON(xmlReader, dtdVersion, true);
            }
            catch (Exception e)
            {
                throw new ONServiceArgumentsException(e, "Clas_1348178411520734_Alias", AeronaveClassText.ClassAlias, "Clas_1348178411520734Ser_3_Alias", AeronaveClassText.Edit_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.Edit_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
        }
        public PasajeroAeronaveInstance Create_instanceServ(
            [ONInboundArgument("Clas_1348178542592177Ser_1Arg_5_Alias", PasajeroAeronaveClassText.Create_instance_P_agrAeronaveArgumentAlias, "", "Clas_1348178542592177Ser_1_Alias", PasajeroAeronaveClassText.Create_instanceServiceAlias, "Clas_1348178542592177_Alias", PasajeroAeronaveClassText.ClassAlias, AllowsNull = true)] AeronaveOid p_agrAeronaveArg,
            [ONInboundArgument("Clas_1348178542592177Ser_1Arg_6_Alias", PasajeroAeronaveClassText.Create_instance_P_agrPasajeroArgumentAlias, "", "Clas_1348178542592177Ser_1_Alias", PasajeroAeronaveClassText.Create_instanceServiceAlias, "Clas_1348178542592177_Alias", PasajeroAeronaveClassText.ClassAlias, AllowsNull = true)] PasajeroOid p_agrPasajeroArg,
            [ONInboundArgument("Clas_1348178542592177Ser_1Arg_1_Alias", PasajeroAeronaveClassText.Create_instance_P_atrid_PasajeroAeronaveArgumentAlias, "autonumeric", "Clas_1348178542592177Ser_1_Alias", PasajeroAeronaveClassText.Create_instanceServiceAlias, "Clas_1348178542592177_Alias", PasajeroAeronaveClassText.ClassAlias, AllowsNull = false)] ONInt p_atrid_PasajeroAeronaveArg,
            [ONInboundArgument("Clas_1348178542592177Ser_1Arg_8_Alias", PasajeroAeronaveClassText.Create_instance_P_atrNombreAeronaveArgumentAlias, "string", "Clas_1348178542592177Ser_1_Alias", PasajeroAeronaveClassText.Create_instanceServiceAlias, "Clas_1348178542592177_Alias", PasajeroAeronaveClassText.ClassAlias, Length = 100, AllowsNull = false)] ONString p_atrNombreAeronaveArg,
            [ONInboundArgument("Clas_1348178542592177Ser_1Arg_9_Alias", PasajeroAeronaveClassText.Create_instance_P_atrNombrePasajeroArgumentAlias, "string", "Clas_1348178542592177Ser_1_Alias", PasajeroAeronaveClassText.Create_instanceServiceAlias, "Clas_1348178542592177_Alias", PasajeroAeronaveClassText.ClassAlias, Length = 100, AllowsNull = false)] ONString p_atrNombrePasajeroArg)
        {
            try
            {
                PasajeroAeronaveData lData = new PasajeroAeronaveData(OnContext);

                #region Construct OID
                Instance.Oid = new PasajeroAeronaveOid();
                Instance.Oid.Id_PasajeroAeronaveAttr = new ONInt(p_atrid_PasajeroAeronaveArg);
                #endregion Construct OID

                #region Argument initialization 'p_atrNombreAeronave' (NombreAeronave)
                Instance.NombreAeronaveAttr = new ONString(p_atrNombreAeronaveArg);
                #endregion Argument initialization 'p_atrNombreAeronave' (NombreAeronave)

                #region Argument initialization 'p_atrNombrePasajero' (NombrePasajero)
                Instance.NombrePasajeroAttr = new ONString(p_atrNombrePasajeroArg);
                #endregion Argument initialization 'p_atrNombrePasajero' (NombrePasajero)

                #region Argument initialization 'p_agrAeronave' (Aeronave)
                if (p_agrAeronaveArg != null)
                {
                    AeronaveData lAeronaveData = new AeronaveData(OnContext);
                    if (!lAeronaveData.Exist(p_agrAeronaveArg, null))
                    {
                        throw new ONInstanceNotExistException(null, "Clas_1348178411520734_Alias", AeronaveClassText.ClassAlias);
                    }

                    Instance.AeronaveRole        = null;
                    Instance.AeronaveRoleOidTemp = p_agrAeronaveArg;

                    // Maximum cardinality check (inverse role)
                    if (p_agrAeronaveArg.GetInstance(OnContext).PasajeroAeronaveRole.Count >= 1)
                    {
                        throw new ONMaxCardinalityException(null, AeronaveClassText.ClassAlias, "Clas_1348178411520734_Alias", AeronaveClassText.PasajeroAeronaveRoleAlias, "Agr_1348602167296130Rol_1_Alias", 1);
                    }
                }
                #endregion Argument Initialization 'p_agrAeronave' (Aeronave)

                #region Argument initialization 'p_agrPasajero' (Pasajero)
                if (p_agrPasajeroArg != null)
                {
                    PasajeroData lPasajeroData = new PasajeroData(OnContext);
                    if (!lPasajeroData.Exist(p_agrPasajeroArg, null))
                    {
                        throw new ONInstanceNotExistException(null, "Clas_1348178542592658_Alias", PasajeroClassText.ClassAlias);
                    }

                    Instance.PasajeroRole        = null;
                    Instance.PasajeroRoleOidTemp = p_agrPasajeroArg;

                    // Maximum cardinality check (inverse role)
                    if (p_agrPasajeroArg.GetInstance(OnContext).PasajeroAeronaveRole.Count >= 1)
                    {
                        throw new ONMaxCardinalityException(null, PasajeroClassText.ClassAlias, "Clas_1348178542592658_Alias", PasajeroClassText.PasajeroAeronaveRoleAlias, "Agr_1348602429440718Rol_1_Alias", 1);
                    }
                }
                #endregion Argument Initialization 'p_agrPasajero' (Pasajero)

                #region Autonumeric attribute 'id_PasajeroAeronave'
                if (Instance.Id_PasajeroAeronaveAttr < new ONInt(0))
                {
                    PasajeroAeronaveData lAutonumericData = new PasajeroAeronaveData(OnContext);
                    lAutonumericData.ClassName = "PasajeroAeronave";
                    //Get Autonumeric
                    Instance.Oid.Id_PasajeroAeronaveAttr = lAutonumericData.GetAutonumericid_PasajeroAeronave();
                }
                #endregion Autonumeric attribute 'id_PasajeroAeronave'

                //Search if instance exists
                if (lData.Exist(Instance.Oid, null))
                {
                    throw new ONInstanceExistException(null, "Clas_1348178542592177_Alias", PasajeroAeronaveClassText.ClassAlias);
                }

                //Update the new instance
                lData.UpdateAdded(Instance);

                #region Cardinality check for role 'Aeronave'
                // Maximum cardinality check (inverse)
                foreach (AeronaveInstance lRelatedInstance in Instance.AeronaveRole)
                {
                    if (lRelatedInstance.PasajeroAeronaveRole.Count > 1)
                    {
                        throw new ONMaxCardinalityException(null, AeronaveClassText.ClassAlias, "Clas_1348178411520734_Alias", AeronaveClassText.PasajeroAeronaveRoleAlias, "Agr_1348602167296130Rol_1_Alias", 1);
                    }
                }
                #endregion Cardinality check for role 'Aeronave'

                #region Cardinality check for role 'Pasajero'
                // Maximum cardinality check (inverse)
                foreach (PasajeroInstance lRelatedInstance in Instance.PasajeroRole)
                {
                    if (lRelatedInstance.PasajeroAeronaveRole.Count > 1)
                    {
                        throw new ONMaxCardinalityException(null, PasajeroClassText.ClassAlias, "Clas_1348178542592658_Alias", PasajeroClassText.PasajeroAeronaveRoleAlias, "Agr_1348602429440718Rol_1_Alias", 1);
                    }
                }
                #endregion Cardinality check for role 'Pasajero'
            }
            catch (Exception e)
            {
                if (e is ONException)
                {
                    throw e;
                }
                else
                {
                    string ltraceItem = "Definition class: PasajeroAeronave, Service: create_instance, Component: PasajeroAeronaveAction, Method: Create_instanceServ";
                    if (e is ONSystemException)
                    {
                        ONSystemException lException = e as ONSystemException;
                        lException.addTraceInformation(ltraceItem);
                        throw lException;
                    }
                    throw new ONSystemException(e, ltraceItem);
                }
            }

            return(Instance);
        }