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

DeviceContainsAttachment() private method

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

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

            if (result == null)
            {
                DeviceAccountId = null;
                return false;
            }
            else
            {
                if (ActiveDirectory.IsValidDomainAccountId(result.Item1))
                {
                    DeviceAccountId = result.Item1 + "$";
                    return result.Item2;
                }
                else
                {
                    DeviceAccountId = result.Item1 + "$";
                    return false;
                }
            }
        }