Ejemplo n.º 1
0
        public void CostSearchDetail(int costHeadId)
        {
            Action <ClientRequestData> requestAction = ((ClientRequestData request) =>
            {
                request.AddData(costHeadId);
            });
            ServiceResponseData retdata  = InvokeWcfService("OPProject.Service", "QueryController", "CostSearchDetail", requestAction);
            DataTable           dtDetail = retdata.GetData <DataTable>(0);

            if (dtDetail.Rows.Count == 0)
            {
                return;
            }

            DataRow dr = dtDetail.NewRow();

            dr["ItemName"] = "合 计";
            dr["TotalFee"] = dtDetail.Compute("sum(totalFee)", string.Empty);
            DataTable dtCopy = dtDetail.Clone();

            dtCopy.Clear();
            dtCopy.Rows.Add(dtDetail.Rows[0].ItemArray);
            for (int i = 1; i < dtDetail.Rows.Count; i++)
            {
                if (Convert.ToInt32(dtDetail.Rows[i]["FeeItemHeadID"]) != Convert.ToInt32(dtDetail.Rows[i - 1]["FeeItemHeadID"]))
                {
                    DataRow row = dtCopy.NewRow();
                    row["ItemName"] = "小 计";
                    row["TotalFee"] = dtDetail.Compute("sum(totalFee)", "FeeItemHeadID=" + dtDetail.Rows[i - 1]["FeeItemHeadID"]);
                    dtCopy.Rows.Add(row);
                }

                dtCopy.Rows.Add(dtDetail.Rows[i].ItemArray);
                if (i == dtDetail.Rows.Count - 1)
                {
                    DataRow row = dtCopy.NewRow();
                    row["ItemName"] = "小 计";
                    row["TotalFee"] = dtDetail.Compute("sum(totalFee)", "FeeItemHeadID=" + dtDetail.Rows[i]["FeeItemHeadID"]);
                    dtCopy.Rows.Add(row);
                }
            }

            dtCopy.Rows.Add(dr.ItemArray);
            ifrmCostDetail.BindData(dtCopy);
            var dialog = iBaseView["FrmCostDetail"] as Form;

            dialog.ShowDialog();
        }
        public void CostSearchDetail(int costHeadid)
        {
            Action <ClientRequestData> requestAction = ((ClientRequestData request) =>
            {
                request.AddData(costHeadid);
            });

            ServiceResponseData retdata = InvokeWcfService("IPProject.Service", "IPCostSearchController", "GetCostDetail", requestAction);
            DataTable           feeDt   = retdata.GetData <DataTable>(0);

            if (feeDt != null && feeDt.Rows.Count > 0)
            {
                for (int i = 0; i < feeDt.Rows.Count; i++)
                {
                    if (!string.IsNullOrEmpty(feeDt.Rows[i]["InvoiceClass"].ToString()))
                    {
                        feeDt.Rows[i]["ItemName"]   = DBNull.Value;
                        feeDt.Rows[i]["Spec"]       = DBNull.Value;
                        feeDt.Rows[i]["PackAmount"] = DBNull.Value;
                        feeDt.Rows[i]["PackUnit"]   = DBNull.Value;
                        feeDt.Rows[i]["Amount"]     = DBNull.Value;
                        feeDt.Rows[i]["TotalFee"]   = DBNull.Value;
                    }
                    else
                    {
                        if (feeDt.Rows[i]["PackUnit"].ToString().Contains("合计"))
                        {
                            feeDt.Rows[i]["InvoiceClass"] = DBNull.Value;
                            feeDt.Rows[i]["ItemName"]     = DBNull.Value;
                            feeDt.Rows[i]["Spec"]         = DBNull.Value;
                            feeDt.Rows[i]["PackAmount"]   = DBNull.Value;
                            feeDt.Rows[i]["Amount"]       = DBNull.Value;
                        }
                    }
                }

                mIFrmCostDetail.BindData(feeDt);
            }

            ((Form)iBaseView["FrmCostDetail"]).ShowDialog();
        }