protected void Session_Start(Object sender, EventArgs e) { using (ApplicationDbContext db = new ApplicationDbContext()) { string sessionId = HttpContext.Current.Session.SessionID.ToString(); if (db.Sessions.Find(sessionId) == null) { Sessions session = new Sessions { Id = sessionId, Date = DateTime.Now }; db.Sessions.Add(session); db.SaveChanges(); } } }
public void OnResultExecuted(ResultExecutedContext filterContext) { using (ApplicationDbContext db = new ApplicationDbContext()) { string url = filterContext.RequestContext.HttpContext.Request.RawUrl.ToString(); string sessionId = filterContext.HttpContext.Session.SessionID.ToString(); Visits visit = new Visits { Date = DateTime.Now, Url = url, Sessions = db.Sessions.Find(sessionId) }; db.Visits.Add(visit); db.SaveChanges(); } }
/// <summary> /// Ищет во входной строке все @Img(Images.Id) /// </summary> /// <returns> /// Возвращает коллекцию объектов Images, найденных при поиске. /// Если соответствующие объекты не найдены, метод возвращает пустой объект коллекции. /// </returns> public static List<Images> Matches(string input) { List<Images> images = new List<Images>(); if (input == null) return images; ApplicationDbContext db = new ApplicationDbContext(); foreach (Match match in Regex.Matches(input, @"(\x40)Img(\x28)(?<image>(\d)+)(\x29)")) { int imageId = Convert.ToInt32(Regex.Match(match.Value, @"(\d)+").Value); if (db.Images.Find(imageId) == null) { continue; } else { images.Add(db.Images.Find(imageId)); } } db.Dispose(); return images; }