Disco.Services.Documents.ManagedGroups.DocumentTemplateUsersManagedGroup.JobsContainAttachment C# (CSharp) Method

JobsContainAttachment() private method

private JobsContainAttachment ( DiscoDataContext Database, int JobId, string &UserId ) : bool
Database Disco.Data.Repository.DiscoDataContext
JobId int
UserId string
return bool
        private bool JobsContainAttachment(DiscoDataContext Database, int JobId, out string UserId)
        {
            Tuple<string, bool> result;

            if (Configuration.FilterBeginDate.HasValue)
            {
                result = Database.Jobs
                    .Where(j => j.Id == JobId && j.UserId != null)
                    .Select(j => Tuple.Create(
                        j.UserId,
                        j.User.Jobs.Any(uj => uj.JobAttachments.Any(a => a.DocumentTemplateId == this.DocumentTemplateId && a.Timestamp >= Configuration.FilterBeginDate))))
                    .FirstOrDefault();
            }
            else
            {
                result = Database.Jobs
                    .Where(j => j.Id == JobId && j.UserId != null)
                    .Select(j => Tuple.Create(
                        j.UserId,
                        j.User.Jobs.Any(uj => uj.JobAttachments.Any(a => a.DocumentTemplateId == this.DocumentTemplateId))))
                    .FirstOrDefault();
            }

            if (result == null)
            {
                UserId = null;
                return false;
            }
            else
            {
                UserId = result.Item1;
                return result.Item2;
            }
        }