/// <summary>
        /// Updates the resource in the database
        /// </summary>
        /// <param name="id"></param>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <param name="languageID"></param>
        /// <param name="route"></param>
        /// <param name="type"></param>
        public static void UpdateResourceString(int id, string key, string value, int languageID, string route, ResourceType type)
        {
            var repo = new ResourceRepository();

            var resource = repo.GetResourceByID(id);
            if (resource.Key != key)
            {
                RouteResourceProviderFactory.RemoveKey(route, key);
            }
            if (resource.LanguageID == languageID)
            {
                repo.UpdateResource(id, key, value, languageID, route, type);
            }
            else
            {
                var lanResource = repo.GetResource(key, route, languageID);
                if (lanResource != null)
                {
                    repo.UpdateResource(lanResource.ID, key, value, languageID, route, type);
                }
                else
                {
                    repo.AddResource(key, value, languageID, route, type);
                }
            }
        }
 /// <summary>
 /// Add the resource to the database
 /// </summary>
 /// <param name="code"></param>
 /// <param name="value"></param>
 /// <param name="language"></param>
 /// <param name="route"></param>
 /// <param name="type"></param>
 public static void AddResourceString(string code, string value, int language, string route, ResourceType type)
 {
     var repo = new ResourceRepository();
     repo.AddResource(code, value, language, route, type);
 }