Пример #1
0
        private void procesarContexto(XmlElement elemento)
        {
            IContexto contexto = new Contexto();

            contexto.Id = elemento.GetAttribute("id");

            foreach (XmlElement estructura in elemento.ChildNodes)
            {
                string[] s = estructura.Name.Split(':');
                string   e = s[s.Length - 1].ToLower();

                if (e.Equals("entity"))
                {
                    XmlNode identificador = estructura.FirstChild;

                    IIdentificadorContexto contextoIdentificador = contexto.Identificador;
                    contextoIdentificador.Descripcion = identificador.FirstChild.Value;
                    contextoIdentificador.URI         = identificador.Attributes[0].Value;

                    //extraccion de segmentos
                    XmlNode segmentos = identificador.NextSibling;

                    if (segmentos != null)
                    {
                        XmlElement segmentos = contexto.Segmentos;
                        foreach (XmlElement segmento in segmentos.ChildNodes)
                        {
                            segmentos.Add(segmento);
                        }
                    }
                }
                else if (e.Equals("period"))
                {
                    XmlNode primerHijo = estructura.FirstChild;
                    string  elem       = primerHijo.Name.ToLower();

                    if (elem.Equals("startdate"))
                    {
                        IPeriodoInicioFin periodo = new PeriodoInicioFin(primerHijo.FirstChild.Value,
                                                                         primerHijo.NextSibling.FirstChild.Value);

                        contexto.Periodo = periodo;
                    }
                    else
                    {
                        IPeriodoInstante periodo = new PeriodoInstante(primerHijo.FirstChild.Value);

                        contexto.Periodo = periodo;
                    }
                }
                //else if (e.Equals("scenario"))
                //{
                //}
            }

            _contextos.Add(contexto.Id, contexto);
            //throw new Exception("The method or operation is not implemented.");
        }
Пример #2
0
        private void procesarContexto(XmlElement elemento)
        {
            IContexto contexto = new Contexto();

            contexto.Id = elemento.GetAttribute("id");

            foreach (XmlElement estructura in elemento.ChildNodes)
            {
                string[] s = estructura.Name.Split(':');
                string e = s[s.Length - 1].ToLower();

                if (e.Equals("entity"))
                {
                    XmlNode identificador = estructura.FirstChild;

                    IIdentificadorContexto contextoIdentificador = contexto.Identificador;
                    contextoIdentificador.Descripcion = identificador.FirstChild.Value;
                    contextoIdentificador.URI = identificador.Attributes[0].Value;

                    //extraccion de segmentos
                    XmlNode segmentos = identificador.NextSibling;

                    if (segmentos != null)
                    {
                        XmlElement segmentos = contexto.Segmentos;
                        foreach (XmlElement segmento in segmentos.ChildNodes)
                        {
                            segmentos.Add(segmento);
                        }
                    }
                }
                else if (e.Equals("period"))
                {
                    XmlNode primerHijo = estructura.FirstChild;
                    string elem = primerHijo.Name.ToLower();

                    if (elem.Equals("startdate"))
                    {
                        IPeriodoInicioFin periodo = new PeriodoInicioFin(primerHijo.FirstChild.Value,
                            primerHijo.NextSibling.FirstChild.Value);

                        contexto.Periodo = periodo;
                    }
                    else
                    {
                        IPeriodoInstante periodo = new PeriodoInstante(primerHijo.FirstChild.Value);

                        contexto.Periodo = periodo;
                    }
                }
                //else if (e.Equals("scenario"))
                //{
                //}
            }

            _contextos.Add(contexto.Id, contexto);
            //throw new Exception("The method or operation is not implemented.");
        }