public void CreateIssueType(Guid issueTypeKey, Guid versionKey, int ticket, string type, string issueLevel, string message, string stackTrace, DateTime serverTime, IssueTypeRequestEntity[] innerIssueTypes)
{
using (var context = GetDataContext())
{
var itk = GetIssueTypeKey(issueTypeKey, type, issueLevel, message, stackTrace);
if (itk != null) throw new InvalidOperationException("A IssueType with this signature already exists.");
var detail = new IssueTypeDetail
{
Type = type,
Message = message,
StackTrace = stackTrace,
};
context.IssueTypeDetails.InsertOnSubmit(detail);
var newIssueType = new IssueType
{
IssueTypeKey = issueTypeKey,
VersionId = context.Versions.Single(x => x.VersionKey == versionKey).VersionId,
Ticket = ticket,
Level = issueLevel,
CreationServerTime = serverTime,
IssueTypeDetail = detail
};
context.IssueTypes.InsertOnSubmit(newIssueType);
CreateIssueTypeDetail(innerIssueTypes, detail, context);
context.SubmitChanges();
}
}