Ejemplo n.º 1
0
 public void DeleteYbbxsByName(string billName)
 {
     using (SqlConnection conn = new SqlConnection(DataHelper.constr))
     {
         conn.Open();
         SqlTransaction tran = conn.BeginTransaction();
         try
         {
             DeleteYbbxsByName(billName, tran);
             MainDal mdal = new MainDal();
             mdal.DeleteMainByName(billName, tran);
             tran.Commit();
         }
         catch (Exception e)
         {
             tran.Rollback();
             throw e;
         }
     }
 }
Ejemplo n.º 2
0
        public void insertYbbxForGkfj(Bill_Main main, IList <Bill_Ybbxmxb> ybbxList)
        {
            using (SqlConnection conn = new SqlConnection(DataHelper.constr))
            {
                conn.Open();
                SqlTransaction tran = conn.BeginTransaction();
                try
                {
                    MainDal mainDal = new MainDal();

                    DeleteYbbxsByName(main.BillName, tran);

                    mainDal.DeleteMainByName(main.BillName, tran);

                    foreach (Bill_Ybbxmxb ybbxmx in ybbxList)
                    {
                        foreach (Bill_Ybbxmxb_Fykm km in ybbxmx.KmList)
                        {
                            //主表
                            main.GkDept   = km.Bxbm;
                            main.BillCode = Guid.NewGuid().ToString();;
                            main.BillJe   = km.Je;
                            mainDal.InsertMain(main, tran);

                            //明细表
                            ybbxmx.BillCode = main.BillCode;
                            InsertYbbxmxb(ybbxmx, tran);

                            //科目明细表
                            km.BillCode = main.BillCode;
                            InsertYbbxKm(km, tran);
                            if (km.DeptList != null)
                            {
                                foreach (Bill_Ybbxmxb_Fykm_Dept dept in km.DeptList)
                                {
                                    InsertYbbxDept(dept, tran);
                                }
                            }

                            if (km.XmList != null)
                            {
                                foreach (Bill_Ybbxmxb_Hsxm xm in km.XmList)
                                {
                                    InsertYbbxXm(xm, tran);
                                }
                            }
                        }
                        if (ybbxmx.FysqList != null)
                        {
                            foreach (Bill_Ybbx_Fysq fysq in ybbxmx.FysqList)
                            {
                                InsertYbbxFysq(fysq, tran);
                            }
                        }
                    }
                    tran.Commit();
                }
                catch (Exception e)
                {
                    tran.Rollback();
                    throw e;
                }
            }
        }