示例#1
0
        protected void btnOk_Click(object sender, EventArgs e)
        {
            GridViewRow gvr = selfPaymentGV.SelectedRow;

            int index = gvr.DataItemIndex;

            DataTable dt = Session["dtSources"] as DataTable;

            string strPaymentId = dt.Rows[index]["paymentId"].ToString();
            int    usrId        = int.Parse(dt.Rows[index]["usrId"].ToString());
            string strProjetTag = dt.Rows[index]["projectTag"].ToString();
            //string payNum = dt.Rows[index]["payPercent"].ToString();
            string strPayPercent    = dt.Rows[index]["payPercent"].ToString();
            string strSubContractId = dt.Rows[index]["subContractId"].ToString();
            string strProjetTagId   = dt.Rows[index]["projectTagId"].ToString();

            //string strFilter =
            //        " paymentId = " + "'" + strPaymentId + "'";
            //dt.DefaultView.RowFilter = strFilter;

            //DataTable doneTable = dt.DefaultView.ToTable("addTable");
            //dt.Clear();

            PaymentApplyProcess pap = Session["PaymentApplyProcess"] as PaymentApplyProcess;

            //pap.MyDst.Tables.Add(doneTable);
            //pap.SelfPaymentDone();

            Xm_db xmDataCont = Xm_db.GetInstance();

            int    paymentId     = int.Parse(strPaymentId);
            float  payPercent    = float.Parse(strPayPercent);
            int    subContractId = int.Parse(strSubContractId);
            int    projectTagId  = int.Parse(strProjetTagId);
            string payNum        = payPercent.ToString("p");

            xmDataCont.SelfPayment_done(paymentId, payPercent, subContractId, projectTagId);

            try
            {
                xmDataCont.SelfPayment_done(paymentId, payPercent, subContractId, projectTagId);

                xmDataCont.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);

                mailDetail(usrId, strProjetTag, payNum, xmDataCont);
            }
            catch (System.Data.Linq.ChangeConflictException cce)
            {
                string strEx = cce.Message;
                foreach (System.Data.Linq.ObjectChangeConflict occ in xmDataCont.ChangeConflicts)
                {
                    occ.Resolve(System.Data.Linq.RefreshMode.KeepChanges);
                }

                xmDataCont.SelfPayment_done(paymentId, payPercent, subContractId, projectTagId);

                xmDataCont.SubmitChanges();

                mailDetail(usrId, strProjetTag, payNum, xmDataCont);
            }

            var viewSubPayment =
                from subPayment in xmDataCont.View_subPayment
                where subPayment.EndTime > DateTime.Now &&
                subPayment.IsAccept.Equals(bool.TrueString) &&
                subPayment.DoneTime > DateTime.Now
                select subPayment;

            DataTable taskTable = viewSubPayment.ToDataTable();
            //pap.RealSelfPaymentView();
            //DataTable taskTable = pap.MyDst.Tables["view_subPayment"].DefaultView.ToTable();

            //string end = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.fff");
            string strFilter = string.Empty;

            //    " isAccept = " + "'" + bool.TrueString + "'" +
            //    " and doneTime > " + "'" + end + "'";

            dt_modify(taskTable, strFilter);

            Session["dtSources"] = taskTable;

            selfPaymentGV.SelectedIndex       = -1;
            selfPaymentGV.Enabled             = true;
            selfPaymentGV.Columns[12].Visible = true;

            selfPaymentGV.DataSource = Session["dtSources"];
            selfPaymentGV.DataBind();

            btnOk.Visible = false;
            btnNo.Visible = false;
        }