Esempio n. 1
0
        public List <RegisteredSipDto> GetCachedRegisteredSips()
        {
            using (new TimeMeasurer("GetRegisteredSips from database."))
            {
                DateTime maxAge = DateTime.UtcNow.AddSeconds(-SettingsManager.MaxRegistrationAge);

                List <MetaType> metaList = _metaRepository.GetAll();
                using (var db = GetDbContext())
                {
                    if (log.IsTraceEnabled)
                    {
                        db.Database.Log = s => { log.Trace("EF Log GetCachedRegisteredSips: {0}", s); };
                    }

                    IQueryable <Entities.RegisteredSipEntity> query = db.RegisteredSips
                                                                      .Include(rs => rs.Location)
                                                                      .Include(rs => rs.Location.Region)
                                                                      .Include(rs => rs.Location.City)
                                                                      .Include(rs => rs.Location.ProfileGroup)
                                                                      .Include(rs => rs.Location.ProfileGroup.OrderedProfiles)
                                                                      .Include(rs => rs.User)
                                                                      .Include(rs => rs.User.Owner)
                                                                      .Include(rs => rs.User.CodecType)
                                                                      .Include(rs => rs.UserAgent)
                                                                      .Include(rs => rs.UserAgent.OrderedProfiles)
                                                                      .Where(r => r.Updated >= maxAge); // && r.User.UserType == UserType.SIP);

                    var dbResult = query.ToList();
                    var list     = dbResult.Select(sip => MapToRegisteredSipDto(sip, metaList)).ToList();
                    AddCallInfoToCachedRegisteredSip(db, list);

                    return(list);
                }
            }
        }
Esempio n. 2
0
        public ActionResult Index(string search = "")
        {
            var metaTypes = string.IsNullOrWhiteSpace(search) ? _metaRepository.GetAll() : _metaRepository.FindMetaTypes(search);
            var model     = metaTypes.Select(metaType => new MetaViewModel()
            {
                Id = metaType.Id, Name = metaType.Name
            }).ToList();

            ViewBag.SearchString = search;
            return(View(model));
        }
        public IEnumerable <RegisteredUserAgentDiscovery> GetRegisteredUserAgentsDiscovery()
        {
            DateTime maxAge = DateTime.UtcNow.AddSeconds(-SettingsManager.MaxRegistrationAge);

            // Get available meta data properties
            List <MetaType> metaList = _metaRepository.GetAll();

            using (var db = GetDbContext())
            {
                IEnumerable <RegisteredSipEntity> dbSip = db.RegisteredSips
                                                          .Include(rs => rs.Location)
                                                          .Include(rs => rs.Location.Region)
                                                          .Include(rs => rs.Location.City)
                                                          .Include(rs => rs.User)
                                                          .Include(rs => rs.User.Owner)
                                                          .Include(rs => rs.User.CodecType)
                                                          .Include(rs => rs.UserAgent)
                                                          .Where(r => r.Updated >= maxAge)
                                                          .ToList();

                return(dbSip.Select(x =>
                {
                    return new RegisteredUserAgentDiscovery(
                        id: x.Id,
                        updated: x.Updated,
                        sipUri: x.SIP,
                        displayName: x.DisplayName,
                        username: x.Username,
                        ipAddress: x.IP,
                        userAgentHeader: x.UserAgentHeader,
                        userAgentId: x.UserAgentId,
                        userAgentName: x.UserAgent?.Name,
                        locationId: x.Location_LocationId,
                        locationName: x.Location?.Name,
                        locationShortName: x.Location?.ShortName,
                        regionName: x.Location?.Region?.Name,
                        cityName: x.Location?.City?.Name,
                        userOwnerName: x.User?.Owner?.Name,
                        userDisplayName: x.User?.DisplayName,
                        codecTypeName: x.User?.CodecType?.Name,
                        metaData: GetMetaData(metaList, x));
                })
                       .ToList());
            }
        }
Esempio n. 4
0
 public IEnumerable <TEntity> GetAll()
 {
     return(repository.GetAll());
 }