public void RefreshName(string newName)
{
var environmentModel = EnvironmentRepository.Instance.FindSingle(model => model.ID == EnvironmentId);
if(environmentModel != null)
{
var resource = environmentModel.ResourceRepository.FindSingle(a => a.ID == ResourceId);
SetDisplay(newName);
if(resource != null)
{
var oldName = resource.DisplayName;
resource.DisplayName = newName;
resource.ResourceName = newName;
resource.Category = resource.Category.Replace(oldName, newName);
}
if(resource != null && ResourceType <= ResourceType.ServerSource)
{
var xaml = resource.WorkflowXaml;
if(xaml != null)
{
// ReSharper disable MaximumChainedReferences
resource.WorkflowXaml = xaml
.Replace("x:Class=\"" + resource.ResourceName, "x:Class=\"" + newName)
.Replace("Name=\"" + resource.ResourceName, "Name=\"" + newName)
.Replace("ToolboxFriendlyName=\"" + resource.ResourceName, "ToolboxFriendlyName=\"" + newName)
.Replace("DisplayName=\"" + resource.ResourceName, "DisplayName=\"" + newName);
// ReSharper restore MaximumChainedReferences
}
}
}
}