public void AppListByTags_match_internal_project_integration_test()
        {
            var namevalues = new NameValueCollection();
            namevalues[MobileParam.Key_Resolution] = "240x320";
            namevalues[MobileParam.Key_Batch] = "MT6273";
            namevalues[MobileParam.Key_RAM] = "4";
            namevalues[MobileParam.Key_ROM] = "4";
            namevalues[MobileParam.Key_LobbyVersion] = "2.3.6";
            _requestRepoMock.Setup<NameValueCollection>(m => m.Header).Returns(namevalues);
            MobileParam mobileParam = new MobileParam(requestRepo);

            var projectTagId = PrepareInternalProjectData();

            InternalProject internalProject = new InternalProject
            {
                Batch = namevalues[MobileParam.Key_Batch].ToLower(),
                LCD = namevalues[MobileParam.Key_Resolution].ToLower(),
                OSVersion = namevalues[MobileParam.Key_LobbyVersion].ToLower(),
                RAM = namevalues[MobileParam.Key_RAM].ToLower(),
                ROM = namevalues[MobileParam.Key_ROM].ToLower(),
                TagId = projectTagId,
                TagName = "G7"
            };
            var internalProjectId = redis.Add<InternalProject>(internalProject);

            int totalCount = 0;
            var ret = appStoreRealService.GetAppListByTags(mobileParam, 0, 0, out totalCount, "game");

            Assert.Equal(1, totalCount);
        }
        public ActionResult InternalProjectEdit(InternalProject model)
        {
            if (!ValidateModel())
            {
                return RedirectToAction("InternalProjectAdd");
            }

            var tag = RedisService.Get<Tag>(model.TagId);
            if (tag != null)
            {
                model.TagName = tag.Name;
            }

            model.ROM = model.ROM.ToLower().Trim();
            model.RAM = model.RAM.ToLower().Trim();
            model.LCD = model.LCD.ToLower().Trim();
            model.Batch = model.Batch.ToLower().Trim();
            model.OSVersion = model.OSVersion.ToLower().Trim();

            var orginalModel = RedisService.Get<InternalProject>(model.Id);
            RedisService.UpdateWithRebuildIndex<InternalProject>(orginalModel, model);

            return RedirectToAction("InternalProjectList");
        }
        public void AppDetails_should_use_matched_internal_projects_tag()
        {
            var namevalues = new NameValueCollection();
            namevalues[MobileParam.Key_Resolution] = "240x320";
            namevalues[MobileParam.Key_Batch] = "MT6273";
            namevalues[MobileParam.Key_RAM] = "4";
            namevalues[MobileParam.Key_ROM] = "4";
            namevalues[MobileParam.Key_LobbyVersion] = "2.3.6";
            _requestRepoMock.Setup<NameValueCollection>(m => m.Header).Returns(namevalues);
            MobileParam mobileParam = new MobileParam(requestRepo);

            var projectTagId = PrepareInternalProjectData();

            InternalProject internalProject = new InternalProject
            {
                Batch = namevalues[MobileParam.Key_Batch].ToLower(),
                LCD = namevalues[MobileParam.Key_Resolution].ToLower(),
                OSVersion = namevalues[MobileParam.Key_LobbyVersion].ToLower(),
                RAM = namevalues[MobileParam.Key_RAM].ToLower(),
                ROM = namevalues[MobileParam.Key_ROM].ToLower(),
                TagId = projectTagId,
                TagName = "G7"
            };
            var internalProjectId = redis.Add<InternalProject>(internalProject);

            var appView = appStoreRealService.AndroidAppDetail("pp", mobileParam);

            Assert.Equal("App1 summary", appView.Summary);
        }
        public ActionResult InternalProjectAdd(InternalProject model)
        {
            if (!ValidateModel())
            {
                return RedirectToAction("InternalProjectAdd");
            }

            var tag = RedisService.Get<Tag>(model.TagId);
            if (tag != null)
            {
                model.TagName = tag.Name;
            }
            else
            {
                TempData["errorMsg"] = "请选择关联的内部项目名";
                return RedirectToAction("InternalProjectAdd");
            }

            model.ROM = model.ROM.ToLower().Trim();
            model.RAM = model.RAM.ToLower().Trim();
            model.LCD = model.LCD.ToLower().Trim();
            model.Batch = model.Batch.ToLower().Trim();
            model.OSVersion = model.OSVersion.ToLower().Trim();

            RedisService.Add<InternalProject>(model);

            return RedirectToAction("InternalProjectList");
        }