public bool UpdateIntroducer(IntroducerVM introducerVM)
        {
            using (var dbTransaction = unitOfWork.dbContext.Database.BeginTransaction())
            {
                try
                {
                    //Update Introducer
                    tblIntroducer introducer = unitOfWork.TblIntroducerRepository.GetByID(introducerVM.IntroducerID);
                    introducer.IntroducerName = introducerVM.IntroducerName;
                    introducer.Description    = introducerVM.Description;
                    introducer.Address1       = introducerVM.Address1;
                    introducer.Address2       = introducerVM.Address2;
                    introducer.Address3       = introducerVM.Address3;
                    introducer.ModifiedDate   = DateTime.Now;
                    introducer.ModifiedBy     = introducerVM.ModifiedBy;
                    unitOfWork.TblIntroducerRepository.Update(introducer);
                    unitOfWork.Save();


                    //Delete Existing Business Unit ID List
                    List <tblIntroducerBusinessUnit> existingBusinessUnitList = unitOfWork.TblIntroducerBusinessUnitRepository.Get(x => x.IntroducerID == introducerVM.IntroducerID).ToList();

                    foreach (tblIntroducerBusinessUnit existingBusinessUnit in existingBusinessUnitList)
                    {
                        unitOfWork.TblIntroducerBusinessUnitRepository.Delete(existingBusinessUnit);
                        unitOfWork.Save();
                    }

                    //Save New Business Unit ID List
                    foreach (int businessUnitID in introducerVM.BusinessUnitIDList)
                    {
                        tblIntroducerBusinessUnit introducerBusinessUnit = new tblIntroducerBusinessUnit();
                        introducerBusinessUnit.IntroducerID = introducer.IntroducerID;
                        introducerBusinessUnit.BUID         = businessUnitID;
                        unitOfWork.TblIntroducerBusinessUnitRepository.Insert(introducerBusinessUnit);
                        unitOfWork.Save();
                    }

                    //Complete the Transaction
                    dbTransaction.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    //Roll back the Transaction
                    dbTransaction.Rollback();
                    return(false);
                }
            }
        }
        public bool SaveIntroducer(IntroducerVM introducerVM)
        {
            using (var dbTransaction = unitOfWork.dbContext.Database.BeginTransaction())
            {
                try
                {
                    //Save Introducer
                    tblIntroducer introducer = new tblIntroducer();
                    introducer.IntroducerName = introducerVM.IntroducerName;
                    introducer.Description    = introducerVM.Description;
                    introducer.Address1       = introducerVM.Address1;
                    introducer.Address2       = introducerVM.Address2;
                    introducer.Address3       = introducerVM.Address3;
                    introducer.CreatedDate    = DateTime.Now;
                    introducer.CreatedBy      = introducerVM.CreatedBy;
                    unitOfWork.TblIntroducerRepository.Insert(introducer);
                    unitOfWork.Save();

                    //Save Business Unit ID List
                    foreach (int businessUnitID in introducerVM.BusinessUnitIDList)
                    {
                        tblIntroducerBusinessUnit introducerBusinessUnit = new tblIntroducerBusinessUnit();
                        introducerBusinessUnit.IntroducerID = introducer.IntroducerID;
                        introducerBusinessUnit.BUID         = businessUnitID;
                        unitOfWork.TblIntroducerBusinessUnitRepository.Insert(introducerBusinessUnit);
                        unitOfWork.Save();
                    }

                    //Complete the Transaction
                    dbTransaction.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    //Roll back the Transaction
                    dbTransaction.Rollback();
                    return(false);
                }
            }
        }