private bool FillConfigurationElementWithData(ConfigurationElement item2Fill, HttpError error, WebVirtualDirectory virtualDir)
{
// code
Int64 statusCode = 0;
if (!Int64.TryParse(error.ErrorCode, out statusCode)
|| statusCode < 400 || statusCode > 999)
return false;
// sub-code
Int32 subStatusCode = -1;
if (!Int32.TryParse(error.ErrorSubcode, out subStatusCode))
return false;
//
if (subStatusCode == 0)
subStatusCode = -1;
// correct error content
string errorContent = error.ErrorContent;
if (error.HandlerType.Equals("File"))
{
if(error.ErrorContent.Length > virtualDir.ContentPath.Length)
errorContent = errorContent.Substring(virtualDir.ContentPath.Length);
errorContent = FileUtils.CorrectRelativePath(errorContent);
}
item2Fill.SetAttributeValue(StatusCodeAttribute, statusCode);
item2Fill.SetAttributeValue(SubStatusCodeAttribute, subStatusCode);
item2Fill.SetAttributeValue(PathAttribute, errorContent);
//
item2Fill.SetAttributeValue(ResponseModeAttribute, error.HandlerType);
// We are succeeded
return true;
}