예제 #1
0
        private void Init()
        {
            Mapper.Initialize(cfg =>
            {
                cfg.AddProfile <ModelProfile>();
            });

            _configManager = new ConfigManager();
            _config        = _configManager.GetConfig();

            string connectionString = _config.DatabaseSource;

            IHeatMapRepository  heatMapRepository  = new HeatMapRepository(connectionString);
            ICountingRepository countingRepository = new CountingRepository(connectionString);

            _dataManager = new DataManager(heatMapRepository, countingRepository);

            IReportRepository reportRepository = new ReportRepository(connectionString);

            _reportManager = new ReportManager(reportRepository);

            ICameraRepository cameraRepository = new CameraRepository(connectionString);

            _cameraManager = new CameraManager(cameraRepository);
        }
예제 #2
0
        public async Task <IHttpActionResult> ChangeLogo(Camera camera)
        {
            //此时需要保证camera.Logo必须存在数据
            if (camera == null || camera.Logo == null)
            {
                return(BadRequest());
            }

            if (!System.IO.File.Exists(camera.Logo.FilePath))
            {
                return(InternalServerError(new Exception("Logo图片不存在!")));
            }

            try
            {
                //这里可能还需要保存这个Logo数据
                var rep = new CameraRepository(db);
                var ret = await rep.ChangeLogo(camera);

                if (ret)
                {
                    return(Ok());
                }
                else
                {
                    return(InternalServerError(new Exception("更新失败!")));
                }
            }
            catch (Exception exp)
            {
                return(InternalServerError(exp));
            }
        }
예제 #3
0
        // GET: Camera
        public ActionResult Index()
        {
            CameraRepository   r      = new CameraRepository();
            List <CameraModel> camere = r.GetAll();

            return(View(camere));
        }
예제 #4
0
        public async Task <Camera> Save(Camera entity)
        {
            if (entity == null)
            {
                return(null);
            }

            try
            {
                var rep = new CameraRepository(db);
                if (entity.ID == Guid.Empty)
                {
                    await rep.Create(entity);

                    //entity.ID = Guid.NewGuid();
                    //entity.CreateUser = HttpContext.Current.User.Identity.Name;
                    //entity.UpdateUser = HttpContext.Current.User.Identity.Name;
                    //rep.Insert(entity);
                    //db.SaveChanges();
                }
                else
                {
                    entity.UpdateTime = DateTime.Now;
                    entity.UpdateUser = HttpContext.Current.User.Identity.Name;
                    rep.Update(entity);
                    db.SaveChanges();
                }

                return(entity);
            }
            catch (Exception exp)
            {
                throw exp;
            }
        }
예제 #5
0
        public async Task <IHttpActionResult> RestartDevice(Camera camera)
        {
            //此时需要保证camera.Logo必须存在数据
            if (camera == null)
            {
                return(BadRequest());
            }

            try
            {
                var rep = new CameraRepository(db);
                var ret = await rep.RestartDevice(camera);

                if (ret)
                {
                    return(Ok());
                }
                else
                {
                    return(InternalServerError(new Exception("重启设备失败!")));
                }
            }
            catch (Exception exp)
            {
                return(InternalServerError(exp));
            }
        }
예제 #6
0
        public Camera Delete(Camera entiry)
        {
            var rep = new CameraRepository(db);

            rep.Delete(entiry);
            db.SaveChanges();
            return(entiry);
        }
예제 #7
0
        static void RunOptions(Options opts)
        {
            var name       = opts.Name;
            var repository = new CameraRepository(); //TODO: Dependency Injection

            foreach (var camera in repository.FindByPartOfName(name))
            {
                Console.WriteLine(camera.ToString());
            }
        }
예제 #8
0
        public ActionResult Adauga(CameraModel camera)
        {
            CameraRepository r = new CameraRepository();

            r.Add(camera);

            return(RedirectToAction("Index"));

            ViewBag.TipCamere = TipCameraSelectie.Selectii();
        }
예제 #9
0
 public ActionResult Editeaza(RezervareModel rezervare)
 {
     if (ModelState.IsValid)
     {
         CameraRepository c = new CameraRepository();
         var camereGasite   = c.CautaCamereDisponibile(rezervare.CheckIn, rezervare.CheckOut, rezervare.TipCamera);
         if (camereGasite > 0)
         {
             RezervariRepository r = new RezervariRepository();
             r.Update(rezervare);
             return(RedirectToAction("Index"));
         }
         ModelState.AddModelError("TipCamera", "Nu mai este disponibilitate, verificati ce date sunt disponibile in rezervari");
     }
     ViewBag.TipCamere = TipCameraSelectie.Selectii();
     return(View(rezervare));
 }
예제 #10
0
 public ActionResult AdaugaRezervare(RezervareModel rezervare)
 {
     if (ModelState.IsValid)
     {
         CameraRepository c = new CameraRepository();
         var camereGasite   = c.CautaCamereDisponibile(rezervare.CheckIn, rezervare.CheckOut, rezervare.TipCamera);
         if (camereGasite > 0)
         {
             RezervariRepository r = new RezervariRepository();
             r.Add(rezervare);
             return(RedirectToAction("Multumire"));
         }
         ModelState.AddModelError("TipCamera", "Nu avem disponibilitate, va rugam selectati o alta perioada sau alt tip de camera.");
     }
     ViewBag.TipCamere = TipCameraSelectie.Selectii();
     return(View(rezervare));
 }
예제 #11
0
        public CamerasModel()
        {
            cameraRepository         = new CameraRepository();
            categoryRepository       = new CategoryRepository();
            cameraCategoryRepository = new CameraCategoryRepository();

            var mapperConfig = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Camera, CameraEntity>();
                cfg.CreateMap <Camera, CameraEntity>().ReverseMap();

                cfg.CreateMap <Category, CategoryEntity>();
                cfg.CreateMap <Category, CategoryEntity>().ReverseMap();

                cfg.CreateMap <Entities.CamerasCategories, DAL.Entities.CamerasCategories>();
                cfg.CreateMap <Entities.CamerasCategories, DAL.Entities.CamerasCategories>().ReverseMap();
            });

            mapper = new Mapper(mapperConfig);
        }
예제 #12
0
 public CameraService()
 {
     cameraRepository = new CameraRepository();
 }
        public void RunQueryThread()
        {
            //开启一个线程,不停的获取数据,然后查询数据
            System.Threading.Thread thread =
                new System.Threading.Thread(new System.Threading.ThreadStart(async() => {
                var db          = new ApplicationDbContext();
                var rep         = new CheckinRecordRepository(db);
                var repCamera   = new CameraRepository(db);
                var repEmployee = new EmployeeRepository(db);
                var service     = new UFaceService();
                DateTime prev   = DateTime.Now;
                while (true)
                {
                    if (HasExit)
                    {
                        break;
                    }

                    try
                    {
                        if (dictCamera == null || dictCamera.Length == 0)
                        {
                            //查询数据库获取相机信息
                            var cameras = repCamera.Get();
                            dictCamera  = cameras.ToArray();
                        }

                        if (dictCamera == null)
                        {
                            System.Threading.Thread.Sleep(10);
                            continue;
                        }

                        foreach (var v in dictCamera)
                        {
                            if (HasExit)
                            {
                                break;
                            }

                            Camera camera    = v;
                            int length       = -1;
                            int index        = 0;
                            string startTime = "0";
                            string endTime   = "0";
                            var now          = DateTime.Now;
                            if (dictDateTime.ContainsKey(v.IP))
                            {
                                //如果在deltaTime毫秒之内,不做处理
                                var delta = now - dictDateTime[v.IP];
                                if (delta.Minutes * 60000 + delta.Seconds * 1000 + delta.Milliseconds < deltaTime)
                                {
                                    continue;
                                }

                                //
                                startTime          = dictDateTime[v.IP].ToString(@"yyyy-MM-dd hh\:mm\:ss");
                                endTime            = now.ToString(@"yyyy-MM-dd hh\:mm\:ss");
                                dictDateTime[v.IP] = now;
                            }
                            else
                            {
                                dictDateTime.Add(v.IP, now);
                            }
                            var ret = await service.findRecords(camera, "-1", length, index, startTime, endTime);
                            if (null != ret)
                            {
                                //把数据插入数据库
                                if (null != ret.records)
                                {
                                    //这里面的操作都比较费时
                                    if (HasExit)
                                    {
                                        break;
                                    }

                                    var lst = new List <CheckinRecord>();
                                    foreach (var rec in ret.records)
                                    {
                                        //需要从数据库获取数据
                                        var peoples       = repEmployee.Get(x => x.Code != null && x.Code.CompareTo(rec.personID) == 0);
                                        Employee employee = peoples == null || peoples.Count() == 0 ? null : peoples.ElementAt(0);
                                        var cr            = new CheckinRecord()
                                        {
                                            InnerID     = rec.ID,
                                            IP          = camera.IP,
                                            Path        = rec.path,
                                            PersonId    = rec.personID,
                                            Time        = rec.time,
                                            Type        = rec.type,
                                            State       = rec.state,
                                            CheckinTime = Utils.TimeHelper.UnixTime2DateTime(rec.time),     //需要从unix时间戳转化得到
                                        };

                                        if (employee != null)
                                        {
                                            cr.EmployeeID = employee.ID;
                                        }
                                        //
                                        lst.Add(cr);
                                    }
                                    rep.Add(lst.ToArray());
                                }
                            }
                            //
                            System.Threading.Thread.Sleep(10);
                        }
                    }
                    catch (Exception exp)
                    {
                        System.Diagnostics.Debug.WriteLine(exp);
                    }

                    System.Threading.Thread.Sleep(10);
                }
            }));
            thread.IsBackground = true;
            thread.Start();
        }
예제 #14
0
    public static void LoadAllData()
    {
        if (s_localDatabase != null)
        {
            return;
        }

#if UNITY_EDITOR
        System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
        sw.Start();
#endif
        s_localDatabase = LoadDb();
        SkillSystem.SkData.LoadData();
        Pathea.Effect.EffectData.LoadData();
        Pathea.Projectile.ProjectileData.LoadData();
        Pathea.RequestRelation.LoadData();
        Pathea.CampData.LoadData();
        Pathea.ThreatData.LoadData();
        Pathea.DamageData.LoadData();
        HumanSoundData.LoadData();
        ItemDropData.LoadData();

        PELocalization.LoadData();

        NaturalResAsset.NaturalRes.LoadData();
        //SkillAsset.EffCastData.LoadData();
        //SkillAsset.EffSkill.LoadData();
        //SkillAsset.MergeSkill.LoadData();
        //AnimData.LoadData();
        //AnimSoundData.LoadData();

        AiAsset.AiData.LoadData();

        SoundAsset.SESoundBuff.LoadData();
        SoundAsset.SESoundStory.LoadData();
        //CharacterData.LoadCharacterData();
        StoryDoodadMap.LoadData();
        StoreRepository.LoadData();
        NpcMissionDataRepository.LoadData();
        //PlayerAttribute.LoadData();
        MissionRepository.LoadData();
        TalkRespository.LoadData();
        //NpcRandomRepository.LoadData();
        ShopRespository.LoadData();
        WareHouseManager.LoadData();
        //HeroTalkRepository.LoadData();
        MutiPlayRandRespository.LoadData();
        PromptRepository.LoadData();

        //MapIconData.LoadDate();
        //MapMaskData.LoadDate();
        CampPatrolData.LoadDate();
        Camp.LoadData();
        RepProcessor.LoadData();

        CloudManager.LoadData();
        //BattleUnitData.LoadData();
        TutorialData.LoadData();
        //RepairMachineManager.LoadData();
        MapMaskData.LoadDate();
        MessageData.LoadData();         //lz-2016.07.13 Add it
        MonsterHandbookData.LoadData(); //lz-2016.07.20 Add it
        StoryRepository.LoadData();
        RMRepository.LoadRandMission();
        MisInitRepository.LoadData();
        CameraRepository.LoadCameraPlot();
        AdRMRepository.LoadData();
        VCConfig.InitConfig();
        Cutscene.LoadData();

//		BuildBrushData.LoadBrush();
        BSPattern.LoadBrush();
        BSVoxelMatMap.Load();
        BSBlockMatMap.Load();
        BlockBuilding.LoadBuilding();
        LifeFormRule.LoadData();
        PlantInfo.LoadData();
        MetalScanData.LoadData();
        BattleConstData.LoadData();
        CustomCharactor.CustomMetaData.LoadData();
        SkillTreeInfo.LoadData();
        VArtifactUtil.LoadData();
        Pathea.ActionRelationData.LoadActionRelation();

        //colony
        CSInfoMgr.LoadData();
        ProcessingObjInfo.LoadData();
        CSTradeInfoData.LoadData();
        CampTradeIdData.LoadData();
        AbnormalTypeTreatData.LoadData();
        CSMedicineSupport.LoadData();
        //RandomItemMgr
        RandomItemDataMgr.LoadData();
        FecesData.LoadData();
        //randomdungeon
        RandomDungeonDataBase.LoadData();
        AbnormalData.LoadData();
        PEAbnormalNoticeData.LoadData();

        RelationInfo.LoadData();
        EquipSetData.LoadData();
        SuitSetData.LoadData();

        CheatData.LoadData();

        Pathea.NpcProtoDb.Load();
        Pathea.MonsterProtoDb.Load();
        Pathea.MonsterRandomDb.Load();
        Pathea.MonsterGroupProtoDb.Load();
        Pathea.RandomNpcDb.Load();
        Pathea.PlayerProtoDb.Load();
        Pathea.TowerProtoDb.Load();
        Pathea.DoodadProtoDb.Load();
        Pathea.AttPlusNPCData.Load();
        Pathea.AttPlusBuffDb.Load();
        Pathea.NpcTypeDb.Load();
        Pathea.NpcRandomTalkDb.Load();
        Pathea.NpcThinkDb.LoadData();
        Pathea.NpcEatDb.LoadData();
        Pathea.NpcRobotDb.Load();
        Pathea.NPCScheduleData.Load();
        Pathea.NpcVoiceDb.LoadData();
        InGameAidData.LoadData(); //lz-2016.08.21 add it
        MountsSkillDb.LoadData();

#if UNITY_EDITOR
        sw.Stop();
        Debug.Log("Database Loaded : " + sw.ElapsedMilliseconds);
        sw.Reset();
#else
        Debug.Log("Database Loaded");
#endif
    }
예제 #15
0
        public IEnumerable <Camera> Query()
        {
            var rep = new CameraRepository(db);

            return(rep.Get());
        }