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

DeviceContainsAttachment() private method

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

            if (Configuration.FilterBeginDate.HasValue)
            {
                result = Database.Devices
                    .Where(d => d.SerialNumber == DeviceSerialNumber && d.AssignedUser != null)
                    .Select(d => Tuple.Create(
                        d.AssignedUserId,
                        d.DeviceAttachments.Any(a => a.DocumentTemplateId == this.DocumentTemplateId && a.Timestamp >= Configuration.FilterBeginDate)))
                    .FirstOrDefault();
            }
            else
            {
                result = Database.Devices
                    .Where(d => d.SerialNumber == DeviceSerialNumber && d.AssignedUser != null)
                    .Select(d => Tuple.Create(
                        d.AssignedUserId,
                        d.DeviceAttachments.Any(a => a.DocumentTemplateId == this.DocumentTemplateId)))
                    .FirstOrDefault();
            }

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