//TODO: to get pie data //TODO: create new pie model public ActionResult <List <PieModel> > GetPieData() { PieModel data1 = new PieModel { Count = 10, Month = "January" }; PieModel data2 = new PieModel { Count = 10, Month = "January" }; PieModel data3 = new PieModel { Count = 10, Month = "January" }; List <PieModel> charts = new List <PieModel> { data1, data2, data3 }; return(charts); }
/// <summary> /// 饼图读取xml /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { try { StringReader xmlReader = Utils.XmlUtil.getStrXml(@"c:\StandardXml\Pie.xml"); XmlSerializer xmlSer = new XmlSerializer(typeof(PieModel)); PieModel pie = (PieModel)xmlSer.Deserialize(xmlReader); xmlReader.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public static StatisticsMoneyPieModel CouponStatisticsPie(AdminLoginModel user, string startTime, string endTime) { StatisticsMoneyPieModel data1 = new StatisticsMoneyPieModel(); using (var dal = FactoryDispatcher.LogFactory()) { List <StatisticsMoneyListModel> lst = null; if (user.UserIndentity == 0) { lst = dal.CouponStatisticsPieByAdmin(startTime, endTime); } else if (user.UserIndentity == 1) { lst = dal.CouponStatisticsPieByBelongShop(user.ID, startTime, endTime); } else if (user.UserIndentity == 2) { lst = dal.CouponStatisticsPieByShop(user.ID, startTime, endTime); } if (lst != null && lst.Count() > 0) { foreach (var item in lst) { data1.xData.Add(item.xData); PieModel pie = new PieModel(); pie.name = item.xData; pie.value = item.yData; data1.yData.Add(pie); data1.total += item.yData; } } if (data1.xData.Count() == 0) { string dtime = DateTime.Now.ToString("yyyy-MM-dd"); data1.xData.Add(dtime); PieModel pie = new PieModel(); pie.name = ""; pie.value = 0; data1.yData.Add(pie); } return(data1); } }
List <PieModel> CreateData(List <Category> category, double amount) { Random rnd; List <PieModel> pieData = new List <PieModel>(); for (int i = 0; i < category.Count; i++) { double Precentage = 0; rnd = new Random(new System.DateTime().Millisecond); string colorName = Color.FromArgb(rnd.Next(0, 255), rnd.Next(0, 255), rnd.Next(0, 255)).ToString(); if (Convert.ToDecimal(category[i].Bedrag) > 0.00m) { Precentage = category[i].Bedrag / amount * 100; } PieModel pieDataInfo = new PieModel(category[i].Title, colorName, (int)Precentage); pieData.Add(pieDataInfo); } return(pieData); }
/// <summary> /// 创建饼图的Xml /// </summary> /// <param name="pie"></param> private void createPieXml(PieModel pie) { try { //XmlDocument xmlDoc = new XmlDocument(); //XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", ""); //xmlDoc.AppendChild(node); //XmlNode root = xmlDoc.CreateElement("PieModel"); //xmlDoc.AppendChild(root); //Utils.XmlUtil.CreateNode(xmlDoc, root, nameof(pie.Id), pie.Id); //Utils.XmlUtil.CreateNode(xmlDoc, root, nameof(pie.FunName), pie.FunName); //Utils.XmlUtil.CreateNode(xmlDoc, root, nameof(pie.TableName), pie.TableName); //Utils.XmlUtil.CreateNode(xmlDoc, root, nameof(pie.DataShowType), pie.DataShowType.ToString()); //Utils.XmlUtil.CreateNode(xmlDoc, root, nameof(pie.GraphType), pie.GraphType.ToString()); //Utils.XmlUtil.CreateNode(xmlDoc, root, nameof(pie.Name), pie.Name); //XmlNode title = xmlDoc.CreateElement(nameof(pie.Title)); //root.AppendChild(title); //Utils.XmlUtil.CreateNode(xmlDoc, title, nameof(pie.Title.TitleText), pie.Title.TitleText); //Utils.XmlUtil.CreateNode(xmlDoc, title, nameof(pie.Title.TitleSubText), pie.Title.TitleSubText); //Utils.XmlUtil.CreateNode(xmlDoc, title, nameof(pie.Title.X), pie.Title.X); //XmlNode dataNode = xmlDoc.CreateElement(nameof(pie.PieDataList)); //root.AppendChild(dataNode); //foreach (var item in pie.PieDataList) //{ // XmlNode itemNode = xmlDoc.CreateElement(nameof(PieData)); // dataNode.AppendChild(itemNode); // Utils.XmlUtil.CreateNode(xmlDoc, itemNode, nameof(item.Name), item.Name); // Utils.XmlUtil.CreateNode(xmlDoc, itemNode, nameof(item.Value), item.Value); //} //xmlDoc.Save(@"c:\StandardXml\Pie.xml"); } catch (Exception ex) { throw ex; } }