public bool SaveBranchClassDeal(int?branchClassId, int?masterDealId, int?hotelMasterDealId, int?busMasterDealId, int?mobileMasterDealId, int appUserId)
        {
            if (masterDealId != null)
            {
                if (!IsBranchOfficeAirlineDealInserted(branchClassId))
                {
                    BranchClassDeals obj = new BranchClassDeals
                    {
                        BranchClassId      = branchClassId ?? 0,
                        BranchDealMasterId = masterDealId ?? 0,
                        CreatedBy          = appUserId,
                        CreatedDate        = DateTime.Now
                    };
                    ent.AddToBranchClassDeals(obj);
                }
                else
                {
                    if (!IsSameBranchOfficeMasterDealAlreadyExists(branchClassId, masterDealId))
                    {
                        var objToDelete = ent.BranchClassDeals.Where(z => z.BranchClassId == branchClassId);
                        foreach (var delete in objToDelete)
                        {
                            int productId = GetBranchOfficeProductIdByMasterDealId(delete.BranchDealMasterId);
                            if (productId == 1)
                            {
                                ent.DeleteObject(delete);
                            }
                        }
                        BranchClassDeals obj = new BranchClassDeals
                        {
                            BranchClassId      = branchClassId ?? 0,
                            BranchDealMasterId = masterDealId ?? 0,
                            CreatedBy          = appUserId,
                            CreatedDate        = DateTime.Now
                        };
                        ent.AddToBranchClassDeals(obj);
                    }
                }
            }
            else
            {
                var objToDelete = ent.BranchClassDeals.Where(z => z.BranchClassId == branchClassId);
                foreach (var delete in objToDelete)
                {
                    int productId = GetBranchOfficeProductIdByMasterDealId(delete.BranchDealMasterId);
                    if (productId == 1)
                    {
                        ent.DeleteObject(delete);
                    }
                }
            }

            if (hotelMasterDealId != null)
            {
                if (!IsBranchOfficeHotelDealInserted(branchClassId))
                {
                    BranchClassDeals obj = new BranchClassDeals
                    {
                        BranchClassId      = branchClassId ?? 0,
                        BranchDealMasterId = hotelMasterDealId ?? 0,
                        CreatedBy          = appUserId,
                        CreatedDate        = DateTime.Now
                    };
                    ent.AddToBranchClassDeals(obj);
                }
                else
                {
                    if (!IsSameBranchOfficeMasterDealAlreadyExists(branchClassId, hotelMasterDealId))
                    {
                        var objToDelete = ent.BranchClassDeals.Where(z => z.BranchClassId == branchClassId);
                        foreach (var delete in objToDelete)
                        {
                            int productId = GetBranchOfficeProductIdByMasterDealId(delete.BranchDealMasterId);
                            if (productId == 2)
                            {
                                ent.DeleteObject(delete);
                            }
                        }
                        BranchClassDeals obj = new BranchClassDeals
                        {
                            BranchClassId      = branchClassId ?? 0,
                            BranchDealMasterId = hotelMasterDealId ?? 0,
                            CreatedBy          = appUserId,
                            CreatedDate        = DateTime.Now
                        };
                        ent.AddToBranchClassDeals(obj);
                    }
                }
            }
            else
            {
                var objToDelete = ent.BranchClassDeals.Where(z => z.BranchClassId == branchClassId);
                foreach (var delete in objToDelete)
                {
                    int productId = GetBranchOfficeProductIdByMasterDealId(delete.BranchDealMasterId);
                    if (productId == 2)
                    {
                        ent.DeleteObject(delete);
                    }
                }
            }

            if (busMasterDealId != null)
            {
                if (!IsBranchOfficeHotelDealInserted(branchClassId))
                {
                    BranchClassDeals obj = new BranchClassDeals
                    {
                        BranchClassId      = branchClassId ?? 0,
                        BranchDealMasterId = busMasterDealId ?? 0,
                        CreatedBy          = appUserId,
                        CreatedDate        = DateTime.Now
                    };
                    ent.AddToBranchClassDeals(obj);
                }
                else
                {
                    if (!IsSameBranchOfficeMasterDealAlreadyExists(branchClassId, busMasterDealId))
                    {
                        var objToDelete = ent.BranchClassDeals.Where(z => z.BranchClassId == branchClassId);
                        foreach (var delete in objToDelete)
                        {
                            int productId = GetBranchOfficeProductIdByMasterDealId(delete.BranchDealMasterId);
                            if (productId == 4)
                            {
                                ent.DeleteObject(delete);
                            }
                        }
                        BranchClassDeals obj = new BranchClassDeals
                        {
                            BranchClassId      = branchClassId ?? 0,
                            BranchDealMasterId = busMasterDealId ?? 0,
                            CreatedBy          = appUserId,
                            CreatedDate        = DateTime.Now
                        };
                        ent.AddToBranchClassDeals(obj);
                    }
                }
            }
            else
            {
                var objToDelete = ent.BranchClassDeals.Where(z => z.BranchClassId == branchClassId);
                foreach (var delete in objToDelete)
                {
                    int productId = GetBranchOfficeProductIdByMasterDealId(delete.BranchDealMasterId);
                    if (productId == 4)
                    {
                        ent.DeleteObject(delete);
                    }
                }
            }



            if (mobileMasterDealId != null)
            {
                if (!IsBranchOfficeMobileDealInserted(branchClassId))
                {
                    BranchClassDeals obj = new BranchClassDeals
                    {
                        BranchClassId      = branchClassId ?? 0,
                        BranchDealMasterId = mobileMasterDealId ?? 0,
                        CreatedBy          = appUserId,
                        CreatedDate        = DateTime.Now
                    };
                    ent.AddToBranchClassDeals(obj);
                }
                else
                {
                    if (!IsSameBranchOfficeMasterDealAlreadyExists(branchClassId, mobileMasterDealId))
                    {
                        var objToDelete = ent.BranchClassDeals.Where(z => z.BranchClassId == branchClassId);
                        foreach (var delete in objToDelete)
                        {
                            int productId = GetBranchOfficeProductIdByMasterDealId(delete.BranchDealMasterId);
                            if (productId == 3)
                            {
                                ent.DeleteObject(delete);
                            }
                        }
                        BranchClassDeals obj = new BranchClassDeals
                        {
                            BranchClassId      = branchClassId ?? 0,
                            BranchDealMasterId = mobileMasterDealId ?? 0,
                            CreatedBy          = appUserId,
                            CreatedDate        = DateTime.Now
                        };
                        ent.AddToBranchClassDeals(obj);
                    }
                }
            }
            else
            {
                var objToDelete = ent.BranchClassDeals.Where(z => z.BranchClassId == branchClassId);
                foreach (var delete in objToDelete)
                {
                    int productId = GetBranchOfficeProductIdByMasterDealId(delete.BranchDealMasterId);
                    if (productId == 3)
                    {
                        ent.DeleteObject(delete);
                    }
                }
            }



            ent.SaveChanges();
            return(true);
        }