public bool IsEditionExist(string name, string id)
        {
            var edition = _repository.AsNoTracking().FirstOrDefault(x => x.Name.ToLower() == name.ToLower());

            if (edition != null && edition.Id != id)
            {
                return(true);
            }

            return(false);
        }
        public string CreateTenantSubscription(TenantViewModel model, string tenantId, string companyId,
                                               string branchId, bool isLifeTimeSubscription)
        {
            var  status             = isLifeTimeSubscription ? SubscriptionStatus.Active : SubscriptionStatus.AwaitingPayment;
            var  paymentStatus      = isLifeTimeSubscription ? SubscriptionPaymentStatus.Paid : SubscriptionPaymentStatus.Unpaid;
            bool isPaymentCompleted = false;

            var edition = _editionRepository.AsNoTracking().SingleOrDefault(x => x.Id == model.EditionId);

            if (edition != null && edition.Name == StaticEdition.Trial)
            {
                status             = SubscriptionStatus.Trial;
                paymentStatus      = SubscriptionPaymentStatus.Paid;
                isPaymentCompleted = true;
            }

            var subscription = new Subscription
            {
                Id         = Guid.NewGuid().ToString(),
                Created    = model.Created,
                CreatedBy  = model.CreatedBy,
                Modified   = model.Modified,
                ModifiedBy = model.ModifiedBy,
                Active     = model.Active,

                TenantId  = tenantId,
                CompanyId = companyId,

                EditionId = model.EditionId,

                Package             = model.Package,
                PackageMonthlyPrice = model.PackageMonthlyPrice,
                PackageMonth        = model.PackageMonth,
                NoOfShowroom        = model.NoOfShowroom,
                Price = model.Price,
                PackageDiscountPercentage = model.PackageDiscountPercentage,
                PackageDiscountAmount     = model.PackageDiscountAmount,
                PackageCharge             = model.PackageCharge,

                ExpireOn           = model.SubscriptionEndTime,
                RenewedOn          = null,
                Status             = status,
                PaymentStatus      = paymentStatus,
                IsPaymentCompleted = isPaymentCompleted
            };

            _subscriptionRepository.CreateAsHost(subscription);
            _subscriptionRepository.Commit();

            return(subscription.Id);
        }