Disco.Services.JobQueueExtensions.OnAddQueue C# (CSharp) Method

OnAddQueue() public static method

public static OnAddQueue ( this j, DiscoDataContext Database, JobQueue jq, User Technician, string Comment, System.DateTime SLAExpires, JobQueuePriority Priority ) : JobQueueJob
j this
Database Disco.Data.Repository.DiscoDataContext
jq Disco.Models.Repository.JobQueue
Technician Disco.Models.Repository.User
Comment string
SLAExpires System.DateTime
Priority JobQueuePriority
return Disco.Models.Repository.JobQueueJob
        public static JobQueueJob OnAddQueue(this Job j, DiscoDataContext Database, JobQueue jq, User Technician, string Comment, DateTime? SLAExpires, JobQueuePriority Priority)
        {
            if (!j.CanAddQueue(jq))
                throw new InvalidOperationException("Adding job to queue is denied");

            if (SLAExpires.HasValue && SLAExpires.Value < DateTime.Now)
                throw new ArgumentException("The SLA Date must be greater than the current time", "SLAExpires");

            var jqj = new JobQueueJob()
            {
                JobQueueId = jq.Id,
                JobId = j.Id,
                AddedDate = DateTime.Now,
                AddedUserId = Technician.UserId,
                AddedComment = string.IsNullOrWhiteSpace(Comment) ? null : Comment.Trim(),
                SLAExpiresDate = SLAExpires,
                Priority = Priority
            };

            Database.JobQueueJobs.Add(jqj);
            return jqj;
        }
        #endregion