private void QueryDonePointsList(object[] parameters) { HttpDataService httpDataService = new HttpDataService(Cookie); List <Bill> bills = new List <Bill>(); TotalDonePoint = 0.0; foreach (Department dept in Departments) { bills = bills.Concat(httpDataService.GetBill(dept, Year.ToString(), Month.ToString(), Cookie)).ToList(); } DonepointList = new ObservableCollection <DonePointViewModel>(); string currentParentDepartment = bills.First().Zone; foreach (Bill bill in bills) { DonePointViewModel donepoint = new DonePointViewModel(); donepoint.DonePoint = bill.CN_Point + bill.F_Point; donepoint.Department = bill.Zone; donepoint.Name = bill.Name; donepoint.Level = bill.Level; DonepointList.Add(donepoint); if (donepoint.Department != null && donepoint.Department.Substring(17, 5).Equals(currentParentDepartment.Substring(17, 5))) { if (donepoint.Department.Equals(currentParentDepartment)) { TotalDonePoint += donepoint.DonePoint; } else { if (!donepoint.Department.Contains(currentParentDepartment)) { TotalDonePoint += donepoint.DonePoint; currentParentDepartment = donepoint.Department; } } } } TotalDonePoint = Math.Round(TotalDonePoint, 4); }
private ObservableCollection <DonePointViewModel> GetBill(string deptID, string year, string month, string cookie_str) { string uri = "http://www.acip.vip/ajax/bill_info.ashx"; //string cookie_str = "UM_distinctid=16788d9cef9fd-0bcc9649da0e84-6313363-384000-16788d9cefd2c6; CNZZDATA1271442956=358702909-1544188911-null%7C1545309842; Hm_lvt_f5df380d5163c1cc4823c8d33ec5fa49=1545656171,1546693742,1546778220,1547003236; Hm_lvt_82131f194bfafb51664235f31934ebe0=1546693806,1547003365; iplatform1.0=user_name=H00669; ASP.NET_SessionId=wp0nsp2l5s5xl2s33ddm2fnp; Hm_lvt_bfc6c23974fbad0bbfed25f88a973fb0=1558523577,1559140092,1559220113,1559346861; acip.iplatform=652C40812A5FE2E60672AB0149118789104C146080C57E0B82FE6E320212EA1D5A6C950AA95CAF7AF7BAD2D1E1A6961F28C3EAAFEABA6FD6DFAE70416E6A653D049DFEAF855FED8F69EA88AF329DA62CFD41332723E40F5AE10849FC78304AC3E29C76D20C3C4C9398D6F13CCCD115726EC87804186C1A66EC9AE57D215C483C1A09348DBAD68E50546FBEE0846D77ABF5F7286B0A76D3E4E4C6B27ECEA68C75215B02FE96EC981B3142EA53409ACF5AD901DB5193BC10FE910AAB13CA1FE407; Hm_lpvt_bfc6c23974fbad0bbfed25f88a973fb0=1559361125"; //string postData = string.Format("userid ={0}&password={1}","guset","123"); //string postData = "dept_id=75926ed8-2f2f-4011-b206-6dc36a8632d0&year=2019&month=5&search_key=&call=GetDeptBonusList&page_size=10&page_index=0&get_total=true&key_id=id&id=&sort=cn_name+asc"; string postData = string.Format("dept_id={0}&year={1}&month={2}&search_key={3}&call={4}&page_size={5}&page_index={6}&get_total={7}&key_id={8}&id={9}&sort={10}", deptID, year, month, "", "GetDeptBonusList", "20", "0", "true", "id", "", "cn_name+asc"); byte[] data = Encoding.UTF8.GetBytes(postData); HttpWebRequest request; HttpWebResponse response; request = WebRequest.Create(uri) as HttpWebRequest; request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"; request.Headers.Add("Cookie", cookie_str); request.ContentLength = data.Length; Stream newStream = request.GetRequestStream(); newStream.Write(data, 0, data.Length); newStream.Close(); response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); ObservableCollection <DonePointViewModel> bills = new ObservableCollection <DonePointViewModel>(); string content = reader.ReadToEnd(); if (!content.Contains("登录信息失效,请重新登陆!")) { JObject jo = (JObject)JsonConvert.DeserializeObject(content); string table_str = jo["table_rows"].ToString(); if (table_str != "null") { JArray table = JArray.Parse(table_str); DonePointViewModel billTotal = new DonePointViewModel(); billTotal.Name = "总计"; foreach (JObject row in table) { DonePointViewModel bill = new DonePointViewModel(); bill.Name = row["cn_name"].ToString(); //bill.CN_Point = (double)row["real_point"]; if (row["real_point"].ToString() != "") { bill.DonePoint += (double)row["real_point"]; } if (row["f_real_point"].ToString() != "") { bill.DonePoint += (double)row["f_real_point"]; } billTotal.DonePoint += bill.DonePoint; bill.Level = row["cn_grade"].ToString(); bills.Add(bill); } bills.Add(billTotal); } } else { MessageBox.Show("登录过期,请重新登录", "出错了", MessageBoxButton.OK, MessageBoxImage.Error); } return(bills); }