예제 #1
0
        /// <summary>
        /// Просмотр изображения с камеры
        /// </summary>
        /// <param name="Id">Идентификатор камеры</param>
        /// <returns></returns>
        public ActionResult Camera(int?Id)
        {
            if (Id == null)
            {
                throw new HttpException(400, "Некорректный запрос");
            }

            // получения сведений о камере
            General Camera = db.TableGeneral.Find(Id);

            if (Camera == null)
            {
                return(HttpNotFound());
            }

            // получение настройки (интервала загрузки изображения)
            Configuration Config = db.TableConfiguration.Find("IntervalTimeout");

            if (Config == null)
            {
                return(HttpNotFound());
            }
            ViewBag.IntervalTimeout = Config.ConfigValue;

            // запись информации о посещении пользователем страницы (для сбора статистики)
            try
            {
                db.VisitUserLog(Session.SessionID, Request.UserHostAddress, Camera.Id, Camera.IfnsCode, Request.UserAgent);
            }
            catch (Exception e)
            {
                Diagnostic.WriteLogError("CamersOperzal", "Произошла ошибка записи статистической информации о пользователе в БД. \n" +
                                         "SessionId: " + Session.SessionID + ", UserHostAddress: " + Request.UserHostAddress + ", CameraId: " + Camera.Id
                                         + ", Ifns: " + Camera.IfnsCode + ", UserAgent: " + Request.UserAgent + "\n"
                                         + e.Message + "\n" + e.Source + "\n" + e.StackTrace);
            }

            return(View(Camera));
        }