/// <summary> /// Запись IP в БД /// </summary> private void WriteIpInDb(string ip, SpyContext spyDB) { try { spyDB.Users.Add(new Users { IP = ip, CreateDate = DateTime.Now }); spyDB.SaveChanges(); } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Метод записывает факт прохождения теста и возвращает результаты для пользователя /// </summary> private List <string> TestResultsProcessing(string ip, Guid sessionId, int degreeSelect, int degreeRouteSelect, string organizationText, int innerRouteSelect) { string org = "None"; var result = new List <string>(); if (organizationText != "" && organizationText != "нет" && organizationText != null) { org = organizationText; } //сначала запишем в шпионскую базу данные и отдельно сам факт заполнения try { using (var spyDB = new SpyContext()) { spyDB.Tests.Add(new Tests { Date = DateTime.Now, Degree = degreeSelect, Direction = innerRouteSelect, Organization = org, Science = degreeRouteSelect, SessionId = sessionId, UserId = ip }); spyDB.FormFills.Add(new FormFills { FormName = "Test", UserId = ip, SessionId = sessionId, Date = DateTime.Now }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } //теперь создадим список результатов из базы сайта try { using (var siteDB = new SiteContext()) { var themes = siteDB.Themes.Where(x => x.DirectionId == innerRouteSelect).ToList(); foreach (var theme in themes) { //если тема подразумевает наличие организации и сама организация заполнена if (theme.Organization && org != "None") { result.Add(theme.Name + " *название вашей организациии*"); } else { result.Add(theme.Name); } } } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } return(result); }
/// <summary> /// Запись согласия на куки в базу /// </summary> /// <param name="ip"></param> /// <param name="sessionId"></param> private void WriteCookieAgreeInDb(string ip, Guid sessionId) { try { using (var spyDB = new SpyContext()) { spyDB.CookieAgree.Add(new CookieAgree { SessionId = sessionId, UserId = ip, Date = DateTime.Now }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Запись события потери фокуса /// </summary> private void WriteFocusLostInDb(string page, string ip, Guid sessionId) { try { using (var spyDB = new SpyContext()) { spyDB.FocusLost.Add(new FocusLost { Page = page, SessionId = sessionId, UserId = ip, Date = DateTime.Now }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Запись времени загрузки страницы в БД /// </summary> private void WriteLoadInDb(int time, string page, string ip, Guid sessionId) { try { using (var spyDB = new SpyContext()) { spyDB.PageLoadTimeLog.Add(new PageLoadTimeLog { Page = page, UserId = ip, Date = DateTime.Now, Time = time, SessionId = sessionId }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Приватный метод записи геолокации в БД /// </summary> private void WriteGeoInDb(string geo, string ip, Guid sessionId) { try { using (var spyDB = new SpyContext()) { spyDB.Geolocations.Add(new Geolocations { Location = geo, UserId = ip, Date = DateTime.Now, SessionId = sessionId }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Приватный метод записи браузера в базу /// </summary> private void WriteBrowserInDb(string browser, string ip, Guid sessionId) { try { using (var spyDB = new SpyContext()) { spyDB.Browsers.Add(new Browsers { Browser = browser, UserId = ip, Date = DateTime.Now, SessionId = sessionId }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Записываем сам факт записи в форму /// </summary> private void WriteFormFillInDb(string ip, Guid sessionId, string formName) { try { using (var spyDB = new SpyContext()) { spyDB.FormFills.Add(new FormFills { UserId = ip, Date = DateTime.Now, SessionId = sessionId, FormName = formName }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Запись содержимого "свободной" формы /// </summary> private void WriteFreeTextInDb(string ip, Guid sessionId, string freeText) { try { using (var spyDB = new SpyContext()) { spyDB.FreeTextForms.Add(new FreeTextForms { UserId = ip, Date = DateTime.Now, SessionId = sessionId, Text = freeText }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Запись клика по картинке в базу данных /// </summary> /// <param name="ip"></param> /// <param name="page"></param> /// <param name="source"></param> /// <param name="destination"></param> /// <param name="type"></param> /// <param name="sessionId"></param> private void WritePicsInDb(string ip, string name, Guid sessionId) { try { using (var spyDB = new SpyContext()) { spyDB.Pics.Add(new Pics { Name = name, SessionId = sessionId, UserId = ip, Date = DateTime.Now }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Запись данных их формы с общими данными /// </summary> private void WriteCommonInDb(string ip, Guid sessionId, string yourName, string yourCity, int yourYear, int direction, int degreeSelect) { try { using (var spyDB = new SpyContext()) { spyDB.CommonForms.Add(new CommonForms { UserId = ip, Date = DateTime.Now, SessionId = sessionId, City = yourCity, DegreeSelect = degreeSelect, Direction = direction, Name = yourName, Year = yourYear }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Логгирование переходов по ссылкам в базе /// </summary> /// <param name="ip"></param> /// <param name="page"></param> /// <param name="source"></param> /// <param name="destination"></param> /// <param name="type"></param> /// <param name="sessionId"></param> private void WriteLinksInDb(string ip, string page, string source, string destination, int type, Guid sessionId) { try { using (var spyDB = new SpyContext()) { spyDB.Links.Add(new Links { Page = page, Source = source, Type = type, Destination = destination, SessionId = sessionId, UserId = ip, Date = DateTime.Now }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Запись события покидания страницы в БД /// </summary> private void WriteExitInDb(int time, string page, string ip, Guid sessionId) { try { using (var spyDB = new SpyContext()) { decimal timeDec = time / 1000; time = Convert.ToInt32(Math.Round(timeDec)); spyDB.ExitLog.Add(new ExitLog { Page = page, UserId = ip, Date = DateTime.Now, Time = time, SessionId = sessionId }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Запись из формы о дизайне и user expirience /// </summary> private void WriteUiuxInDb(string ip, Guid sessionId, int averageUi, int correctWork, int trust, int modern, int pageLocations, int formPreference) { try { using (var spyDB = new SpyContext()) { spyDB.UiuxForms.Add(new UiuxForms { UserId = ip, Date = DateTime.Now, SessionId = sessionId, AverageUI = averageUi, CorrectWork = correctWork, Trust = trust, Modern = modern, PageLocation = pageLocations, FormPreference = formPreference }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Запись данных из формы о функциональности сайта /// </summary> private void WriteFunctionalInDb(string ip, Guid sessionId, int average, int loadTime, int limitations, string oneThing, int somethingNew, int reccomend, int portrait, int trueData) { try { using (var spyDB = new SpyContext()) { spyDB.FunctionalForms.Add(new FunctionalForms { UserId = ip, Date = DateTime.Now, SessionId = sessionId, Average = average, Limitations = limitations, LoadTime = loadTime, OneThing = oneThing, Portrait = portrait, Reccomend = reccomend, SomethingNew = somethingNew, TrueData = trueData }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }
/// <summary> /// Записываем в базу, откуда пришел пользователь /// </summary> private void WriteRefererInDb(string referer, string ip, Guid sessionId) { try { var refererLink = ""; if (referer == null || referer == "") { refererLink = "Straight or other"; } using (var spyDB = new SpyContext()) { spyDB.Referers.Add(new Referers { UserId = ip, SessionId = sessionId, Referer = refererLink, Date = DateTime.Now }); spyDB.SaveChanges(); } } catch (Exception ex) { SiteService.WriteError(ex.Message, ex.Source, ex.StackTrace); } }