public ProfileEntity?AddToArray(string accountId, TransactionSubEntity transactionSubEntity)
        {
            using var session = _mongoRepository.Client.StartSession();
            session.StartTransaction();
            try
            {
                var filter = Builders <ProfileEntity> .Filter.And(
                    Builders <ProfileEntity> .Filter.Eq(p => p.AccountId, accountId)
                    );

                var updateDefinition = Builders <ProfileEntity> .Update.Push(
                    "Transactions",
                    transactionSubEntity
                    );

                var result = _mongoRepository.Update(filter, updateDefinition);
                session.CommitTransaction();
                if (result != null && !string.IsNullOrEmpty(result.Id))
                {
                    return(result);
                }
                return(null);
            }
            catch
            {
                session.AbortTransaction();
                return(null);
            }
        }
        public ProfileEntity?UpdateInArray(string accountId, TransactionSubEntity transactionSubEntity)
        {
            using var session = _mongoRepository.Client.StartSession();
            session.StartTransaction();
            try
            {
                var profile = _mongoRepository.GetSingleByParameter(p => p.AccountId == accountId);
                if (profile.Transactions.All(t => t.Id != transactionSubEntity.Id))
                {
                    return(null);
                }

                var filter = new BsonDocument(
                    "AccountId", accountId
                    );
                var pullTransaction = Builders <ProfileEntity> .Update.PullFilter(
                    "Transactions",
                    Builders <TransactionSubEntity> .Filter.Eq("_id", transactionSubEntity.Id)
                    );

                var _ = _mongoRepository.Update(filter, pullTransaction);
                var pushTransaction = Builders <ProfileEntity> .Update.Push(
                    "Transactions",
                    transactionSubEntity
                    );

                var pushed = _mongoRepository.Update(filter, pushTransaction);

                session.CommitTransaction();
                if (pushed != null && !string.IsNullOrEmpty(pushed.Id))
                {
                    return(pushed);
                }
                return(null);
            }
            catch
            {
                session.AbortTransaction();
                return(null);
            }
        }