Quilt4.Service.SqlRepository.SqlRepository.CreateIssueType C# (CSharp) Method

CreateIssueType() public method

public CreateIssueType ( System.Guid issueTypeKey, System.Guid versionKey, int ticket, string type, string issueLevel, string message, string stackTrace, System.DateTime serverTime, IssueTypeRequestEntity innerIssueTypes ) : void
issueTypeKey System.Guid
versionKey System.Guid
ticket int
type string
issueLevel string
message string
stackTrace string
serverTime System.DateTime
innerIssueTypes Quilt4.Service.Entity.IssueTypeRequestEntity
return void
        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();
            }
        }