public Tag AddTagToDB(string tagName, string tagDescription, string userName, smsfeedbackEntities dbContext)
 {
     logger.Info("Call made");
     try
     {
         //don't add the same tag twice (since the Name is not unique)
        //TODO issue if tag is found for another company!!!
        var companies = from u in dbContext.Users where u.UserName == userName select u.Company;
        var companyName = companies.First().Name;
         var tags = from t in dbContext.Tags where t.Name == tagName && t.Company.Name == companyName select t;
         if (tags.Count() == 0)
         {
             var newTag = new Tag() { Name = tagName, Description = tagDescription, CompanyName = companyName };
             dbContext.Tags.Add(newTag);
             dbContext.SaveChanges();
             return newTag;
         }
         else
         {
             return tags.First();
         }
     }
     catch (Exception ex)
     {
         logger.Error("Error in AddTagToDB", ex);
         return null;
     }
 }
 public void AddTagToConversation(Tag tag, string convID, smsfeedbackEntities dbContext)
 {
     logger.Info("Call made");
        try
        {
       var conv = dbContext.Conversations.Find(convID);
       if (conv != null)
       {
          var convTag = new SmsFeedback_EFModels.ConversationTag() { ConversationConvId = convID, TagCompanyName = tag.CompanyName, TagName = tag.Name, DateAdded = DateTime.UtcNow };
          conv.ConversationTags.Add(convTag);
          dbContext.SaveChanges();
       }
        }
        catch (Exception ex)
        {
       logger.Error("Error in AddTagToConversation", ex);
        }
 }