Beispiel #1
0
 /// <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);
     }
 }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
 /// <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);
     }
 }
Beispiel #4
0
 /// <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);
     }
 }
Beispiel #5
0
 /// <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);
     }
 }
Beispiel #6
0
 /// <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);
     }
 }
Beispiel #7
0
 /// <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);
     }
 }
Beispiel #8
0
 /// <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);
     }
 }
Beispiel #9
0
 /// <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);
     }
 }
Beispiel #10
0
 /// <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);
     }
 }
Beispiel #11
0
        /// <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);
            }
        }
Beispiel #12
0
 /// <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);
     }
 }
Beispiel #13
0
        /// <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);
            }
        }
Beispiel #14
0
        /// <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);
            }
        }
Beispiel #15
0
        /// <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);
            }
        }
Beispiel #16
0
        /// <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);
            }
        }