Пример #1
0
        private void generujPolaFormularza()
        {
            if (listaStatystyk.SelectedIndex < 0)
            {
                return;
            }
            DTO.StatystykaDTO statystyka = statystyki[listaStatystyk.SelectedIndex];

            if (statystyka.Parametry.Count == 0)
            {
                dynamicznePola.Controls.Add(new LiteralControl("Statystyka nie wymaga podawania parametrów"));
                return;
            }
            StringBuilder szablon = new StringBuilder();

            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            int i = 0;

            foreach (DTO.ParametrStatystyki parametr in statystyka.Parametry)
            {
                sb.Append(generujKontrolke(i, parametr));
                i++;
            }
            dynamicznePola.Controls.Add(ParseControl(sb.ToString()));
        }
Пример #2
0
        protected void generowanieStatystyki_Click(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }
            stan = StanyStrony.przegladanieStatystyki;

            DTO.StatystykaDTO stat = statystyki[listaStatystyk.SelectedIndex];

            object[] parametry = generujParametry(stat);

            if (!stat.PosiadaXslt)
            {
                DataSet ds = Pemi.Esoda.Core.Domain.Statystyki.WywolanieStatystyki(stat.NazwaProcedury, parametry);
                foreach (DataTable dt in ds.Tables)
                {
                    GridView gv = new GridView();
                    gv.GridLines = GridLines.None;
                    gv.CssClass  = "grid fullWidth";
                    blokTresciStatystyki.Controls.Add(gv);
                    gv.DataSource = dt;
                    gv.DataBind();
                }
            }
            else
            {
                System.Xml.Xsl.XslTransform tr = new System.Xml.Xsl.XslTransform();
                tr.Load(System.Xml.XmlReader.Create(new System.IO.StringReader(stat.Xslt)));
                statystykaXml.Transform = tr;
                System.Xml.XmlReader xr = Pemi.Esoda.Core.Domain.Statystyki.WywolanieStatystykiXml(stat.NazwaProcedury, parametry);
                if (xr.Read())
                {
                    statystykaXml.DocumentContent = xr.ReadOuterXml();
                }
            }
        }
Пример #3
0
        protected object[] generujParametry(DTO.StatystykaDTO st)
        {
            object[] parametry = new object[st.Parametry.Count];

            string ps = string.Empty;

            for (int i = 0; i < st.Parametry.Count; i++)
            {
                if (String.IsNullOrEmpty(st.Parametry[i].ZrodloDanych))
                {
                    ps = (dynamicznePola.FindControl("pole" + i.ToString()) as TextBox).Text;
                }
                else
                {
                    ps = (dynamicznePola.FindControl("pole" + i.ToString()) as DropDownList).SelectedValue;
                }

                if (ps == "")
                {
                    ps = null;
                }
                switch (st.Parametry[i].Typ.ToLower())
                {
                case "data":
                    if (ps == null)
                    {
                        parametry[i] = null;
                    }
                    else
                    {
                        parametry[i] = DateTime.Parse(ps);
                    }
                    break;

                case "liczbacalkowita":
                    if (ps == null)
                    {
                        parametry[i] = null;
                    }
                    else
                    {
                        parametry[i] = int.Parse(ps);
                    }
                    break;

                case "liczbarzeczywista":
                    if (ps == null)
                    {
                        parametry[i] = null;
                    }
                    else
                    {
                        parametry[i] = decimal.Parse(ps);
                    }
                    break;

                default:
                    parametry[i] = ps;
                    break;
                }
            }
            return(parametry);
        }