예제 #1
0
        public static void AddAcctAndRoutes(CustomerAcctDto pCustomerAcct, int[] pSelectedBaseRouteIds)
        {
            using (var _db = new Rbr_Db()) {
                using (var _tx = new Transaction(_db, pCustomerAcct, pSelectedBaseRouteIds)) {
                    try {
                        CustomerAcctManager.AddCustomerAcctsAndRoutes(_db, pCustomerAcct, pSelectedBaseRouteIds);
                        _tx.Commit();
                    }
                    catch {
                        pCustomerAcct.CustomerAcctId = 0;
                        if (pCustomerAcct.ServiceDto != null && pCustomerAcct.ServiceDto.IsDedicated)
                        {
                            pCustomerAcct.ServiceDto.ServiceId = 0;
                        }

                        if (pCustomerAcct.ResellAccount != null)
                        {
                            pCustomerAcct.ResellAccount.ResellAccountId = 0;
                        }
                        throw;
                    }
                }
            }
        }