public Alias Get(string name, string lastsyncdate) { name = WebUtility.UrlDecode(name); List <Alias> aliases = _aliases.GetAliases().ToList(); Alias alias = null; alias = aliases.FirstOrDefault(item => item.Name == name); if (name != null && (alias == null && name.Contains("/"))) { // lookup alias without folder name alias = aliases.Find(item => item.Name == name.Substring(0, name.IndexOf("/", StringComparison.Ordinal))); } if (alias == null && aliases.Count > 0) { // use first alias if name does not exist alias = aliases.FirstOrDefault(); } // get sync events if (alias != null) { alias.SyncDate = DateTime.UtcNow; alias.SyncEvents = _syncManager.GetSyncEvents(DateTime.ParseExact(lastsyncdate, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture)); } return(alias); }
public Sync Get(string lastSyncDate) { Sync sync = new Sync { SyncDate = DateTime.UtcNow, SyncEvents = _syncManager.GetSyncEvents(_alias.TenantId, DateTime.ParseExact(lastSyncDate, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture)) }; return(sync); }
public Alias Get(string path, string sync) { Alias alias = null; if (_accessor.HttpContext != null) { path = _accessor.HttpContext.Request.Host.Value + "/" + WebUtility.UrlDecode(path); alias = _aliases.GetAlias(path); } // get sync events if (alias != null) { alias.SyncDate = DateTime.UtcNow; alias.SyncEvents = _syncManager.GetSyncEvents(alias.TenantId, DateTime.ParseExact(sync, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture)); } return(alias); }
public Alias Get(string name, string sync) { List <Alias> aliases = _aliases.GetAliases().ToList(); // cached Alias alias = null; if (_accessor.HttpContext != null) { name = (name == "~") ? "" : name; name = _accessor.HttpContext.Request.Host.Value + "/" + WebUtility.UrlDecode(name); var segments = name.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); // iterate segments in reverse order for (int i = segments.Length; i > 0; i--) { name = string.Join("/", segments, 0, i); alias = aliases.Find(item => item.Name == name); if (alias != null) { break; // found a matching alias } } } if (alias == null && aliases.Any()) { // use first alias if name does not exist alias = aliases.FirstOrDefault(); } // get sync events if (alias != null) { alias.SyncDate = DateTime.UtcNow; alias.SyncEvents = _syncManager.GetSyncEvents(alias.TenantId, DateTime.ParseExact(sync, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture)); } return(alias); }