Ejemplo n.º 1
0
        private void miPlanReplace_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count < 1)
            {
                return;
            }

            XmlDocument doc = new XmlDocument();

            doc.AppendChild(doc.CreateElement("Rows"));
            foreach (ListViewItem li in listView1.SelectedItems)
            {
                XmlElement rw = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
                ReportHelper.Append(rw, doc, "age", li.SubItems[2].Text); //rw.AppendChild(doc.CreateElement("age")).AppendChild(doc.CreateTextNode(li.SubItems[2].Text));
                String cn = li.SubItems[11].Text;
                if (cn.IndexOf('[') > -1)
                {
                    cn = cn.Remove(cn.IndexOf('['));
                }
                ReportHelper.Append(rw, doc, "address", cn); //rw.AppendChild(doc.CreateElement("address")).AppendChild(doc.CreateTextNode(cn));
                cn = li.SubItems[NFIELD].Text;
                if (cn[0] == '[')
                {
                    cn = int.Parse(cn.Substring(1, cn.Length - 2)).ToString();
                }
                if (cn == "-")
                {
                    cn = "1";
                }
                ReportHelper.Append(rw, doc, "count", cn);//rw.AppendChild(doc.CreateElement("count")).AppendChild(doc.CreateTextNode(cn));
            }
            new ReportViewForm(myReportType.REPLACE, doc).ShowDialog();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Создает строчку отчета по каждому самцу
        /// </summary>
        private XmlDocument makeRabOfDate(XmlDocument doc_in)
        {
            XmlDocument doc = new XmlDocument();

            doc.AppendChild(doc.CreateElement("Rows"));
            XmlNodeList lst           = doc_in.ChildNodes[0].ChildNodes;
            string      name          = "";
            string      dt            = "";
            int         totalChildren = 0;
            bool        okrolWas      = false;
            int         pCount        = 0;

            foreach (XmlNode nd in lst)
            {
                if (nd.FirstChild.FirstChild.Value == name && nd.FirstChild.NextSibling.FirstChild.Value == dt)
                {
                    if (nd.FirstChild.NextSibling.NextSibling.FirstChild.Value == PROH)
                    {
                        pCount++;
                    }
                    else
                    {
                        totalChildren += int.Parse(nd.FirstChild.NextSibling.NextSibling.FirstChild.Value);
                        okrolWas       = true;
                    }
                    continue;
                }
                else if (name != "" && dt != "")
                {
                    XmlElement el = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
                    ReportHelper.Append(el, doc, "name", name);
                    ReportHelper.Append(el, doc, "dt", dt);
                    ReportHelper.Append(el, doc, "state", String.Format("{0:s}{1:s}", okrolWas ? totalChildren.ToString() : "", pCount > 0 ? PROH + pCount.ToString() : "").Trim());
                }

                totalChildren = 0;
                pCount        = 0;
                okrolWas      = false;
                name          = nd.FirstChild.FirstChild.Value;
                dt            = nd.FirstChild.NextSibling.FirstChild.Value;
                if (nd.FirstChild.NextSibling.NextSibling.FirstChild.Value == PROH)
                {
                    pCount++;
                }
                else
                {
                    totalChildren = int.Parse(nd.FirstChild.NextSibling.NextSibling.FirstChild.Value);
                    okrolWas      = true;
                }
            }
            XmlElement el2 = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));

            ReportHelper.Append(el2, doc, "name", name);
            ReportHelper.Append(el2, doc, "dt", dt);
            ReportHelper.Append(el2, doc, "state", String.Format("{0:s}{1:s}", totalChildren > 0 ? totalChildren.ToString() : "", pCount > 0 ? PROH + (pCount.ToString()) : "").Trim());
            return(doc);
        }
Ejemplo n.º 3
0
        private void addShedRows(XmlDocument doc, String type, int ideal, int real)
        {
            XmlElement rw = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));

            ReportHelper.Append(rw, doc, "name", type);
            ReportHelper.Append(rw, doc, "type", "идеал");
            ReportHelper.Append(rw, doc, "value", ideal.ToString());
            rw = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
            ReportHelper.Append(rw, doc, "name", type);
            ReportHelper.Append(rw, doc, "type", "реально");
            ReportHelper.Append(rw, doc, "value", real.ToString());
        }
Ejemplo n.º 4
0
        private void plemMenuItem_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count < 1)
            {
                return;
            }

            try {
                XmlDocument doc = new XmlDocument();
                doc.AppendChild(doc.CreateElement("Rows"));
                int cnt    = 0;
                string brd = "";
                foreach (ListViewItem li in listView1.SelectedItems)
                {
                    RabNetEngRabbit r = Engine.get().getRabbit((li.Tag as AdultRabbit).ID);
                    cnt += r.Group;
                    if (brd == "")
                    {
                        brd = r.BreedName;
                    }
                    if (r.BreedName != brd)
                    {
                        brd = "none";
                    }
                    ReportHelperExt.rabToXml(r, null, doc);
                }
                XmlDocument doc2 = new XmlDocument();
                XmlElement rw    = (XmlElement)doc2.AppendChild(doc2.CreateElement("Rows")).AppendChild(doc2.CreateElement("Row"));
                ReportHelper.Append(rw, doc2, "date", DateTime.Now.Date.ToShortDateString() + " " + DateTime.Now.ToLongTimeString());
                ReportHelper.Append(rw, doc2, "breed", brd);
                ReportHelper.Append(rw, doc2, "count", cnt.ToString());
                //rw.AppendChild(doc2.CreateElement("date")).AppendChild(doc2.CreateTextNode(DateTime.Now.Date.ToShortDateString()+" "+DateTime.Now.ToLongTimeString()));
                //rw.AppendChild(doc2.CreateElement("breed")).AppendChild(doc2.CreateTextNode(brd));
                //rw.AppendChild(doc2.CreateElement("count")).AppendChild(doc2.CreateTextNode(cnt.ToString()));
                new ReportViewForm(myReportType.PRIDE, new XmlDocument[] { doc, doc2 }).ShowDialog();
            } catch (Exception exc) {
                MessageBox.Show(exc.Message);
                _logger.Warn(exc);
                _rsb.Run();
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Окролы по пользователям - Обработка
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        private XmlDocument userOkrolRpt(String query)
        {
            const string SUMM = "C", TOTAL = "итого";
            XmlDocument  doc = makeStdReportXml(query);
            XmlNodeList  lst = doc.ChildNodes[0].ChildNodes;
            Dictionary <String, FuckerSummary> summary = new Dictionary <String, FuckerSummary>();
            Dictionary <String, int>           dates   = new Dictionary <String, int>();

            //Dictionary<String, int> cnts = new Dictionary<String, int>();//кл-во окролов
            //Dictionary<String, int> proh = new Dictionary<String, int>();//кл-во прохолостов
            //Dictionary<String, float> firt = new Dictionary<String, float>();//фиртильность

            ///вычисляем общие данные по каждому самцу
            foreach (XmlNode nd in lst)
            {
                String name = nd.FirstChild.FirstChild.Value;
                String date = nd.FirstChild.NextSibling.FirstChild.Value;
                String val  = nd.FirstChild.NextSibling.NextSibling.FirstChild.Value;

                if (!summary.ContainsKey(name))
                {
                    summary.Add(name, new FuckerSummary());
                }

                if (val == PROH)
                {
                    summary[name].Proholosts++;
                    continue;
                }
                else if (val != "-")
                {
                    summary[name].Okrols++;
                    summary[name].Born += int.Parse(val);
                }

                if (!dates.ContainsKey(date))
                {
                    dates.Add(date, int.Parse(val));
                }
                else
                {
                    dates[date] += int.Parse(val);
                }
            }
            doc = makeRabOfDate(doc);
            lst = doc.ChildNodes[0].ChildNodes;

            ///создаем стобец "Сумма рожденных крольчат"
            int totalBorn = 0, totalOkrols = 0, totalProholosts = 0;

            foreach (String k in summary.Keys)
            {
                XmlElement rw = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
                ReportHelper.Append(rw, doc, "name", k);
                ReportHelper.Append(rw, doc, "dt", SUMM);///
                ReportHelper.Append(rw, doc, "state", summary[k].Born.ToString());
                totalBorn += summary[k].Born;

                rw = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
                ReportHelper.Append(rw, doc, "name", k);
                ReportHelper.Append(rw, doc, "dt", "О");
                ReportHelper.Append(rw, doc, "state", summary[k].Okrols.ToString());
                totalOkrols += summary[k].Okrols;

                rw = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
                ReportHelper.Append(rw, doc, "name", k);
                ReportHelper.Append(rw, doc, "dt", "П");
                ReportHelper.Append(rw, doc, "state", summary[k].Proholosts.ToString());
                totalProholosts += summary[k].Proholosts;

                rw = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
                ReportHelper.Append(rw, doc, "name", k);
                ReportHelper.Append(rw, doc, "dt", "Ф");
                double fert = Math.Round((double)summary[k].Okrols / (double)(summary[k].Proholosts + summary[k].Okrols), 2);
                ReportHelper.Append(rw, doc, "state", fert.ToString());
            }

            ///добавляем самую нижнюю суммирующую строчку

            XmlElement ttlRow = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));

            ReportHelper.Append(ttlRow, doc, "name", TOTAL);
            ReportHelper.Append(ttlRow, doc, "dt", SUMM);
            ReportHelper.Append(ttlRow, doc, "state", totalBorn.ToString());

            ttlRow = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
            ReportHelper.Append(ttlRow, doc, "name", TOTAL);
            ReportHelper.Append(ttlRow, doc, "dt", "О");
            ReportHelper.Append(ttlRow, doc, "state", totalOkrols.ToString());

            ttlRow = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
            ReportHelper.Append(ttlRow, doc, "name", TOTAL);
            ReportHelper.Append(ttlRow, doc, "dt", "П");
            ReportHelper.Append(ttlRow, doc, "state", totalProholosts.ToString());

            ttlRow = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
            ReportHelper.Append(ttlRow, doc, "name", TOTAL);
            ReportHelper.Append(ttlRow, doc, "dt", "Ф");
            double totalFert = Math.Round((double)totalOkrols / (double)(totalProholosts + totalOkrols), 2);

            ReportHelper.Append(ttlRow, doc, "state", totalFert.ToString());

            foreach (String k in dates.Keys)
            {
                XmlElement rw = (XmlElement)doc.DocumentElement.AppendChild(doc.CreateElement("Row"));
                ReportHelper.Append(rw, doc, "name", TOTAL);
                ReportHelper.Append(rw, doc, "dt", k);
                ReportHelper.Append(rw, doc, "state", dates[k].ToString());
            }
            return(doc);
        }