public void SaveNewSubscription(Subscription subscription)
 {
     var srvDao = NinjectKernelFactory.Kernel.Get<ISubscriptionDataAccess>();
     using (var tr = TransactionsFactory.CreateTransactionScope())
     {
         try
         {
             srvDao.Save(subscription);
         }
         catch (StaleObjectStateException)
         {
             throw new FaultException<ConcurrentUpdateException>(
                 new ConcurrentUpdateException
                 {
                     MessageError = Dictionary.CAMPAIGN_CONCURRENT_UPDATE_EXCEPTION_MSG
                 },
                 new FaultReason(Dictionary.CAMPAIGN_CONCURRENT_UPDATE_EXCEPTION_MSG));
         }
         catch (Exception ex)
         {
             throw new FaultException<Exception>(
                 new Exception(ex.Message),
                 new FaultReason(Dictionary.UNKNOWN_REASON));
         }
         tr.Complete();
     }
 }
 private SubscriptionJson ConvertSubscriptionToSubcriptionJson(Subscription subscription)
 {
     return new SubscriptionJson
     {
         CustomerId = subscription.Customer.CustomerId.ToString(),
         CampaignId = subscription.Campaign.CampaignId.ToString(),
         IsComplete = ReturnIsCompleteSubscriptionString(subscription.IsComplete),
         CompletedMission = subscription.CompletedMission,
         NumOfCompletedMission = subscription.NumOfCompletedMission.ToString(),
         Comment = subscription.Comment,
         Rating = subscription.Rating.ToString()
     };
 }