Esempio n. 1
0
        public IActionResult AppDescription([FromRoute] string appID, [FromRoute] int appOsID, [FromRoute] int osType)
        {
            //get browser language
            string lan          = this.GetUserBrowserLanguage();
            bool   IsTwLanguage = false;

            if (string.IsNullOrEmpty(lan))
            {
                IsTwLanguage = false;
            }
            else
            {
                if (lan.IndexOf("TW", StringComparison.InvariantCultureIgnoreCase) >= 0)
                {
                    IsTwLanguage = true;
                }
                else
                {
                    IsTwLanguage = false;
                }
            }

            ViewBag.IsTwLanguage       = IsTwLanguage;
            ViewBag.Endpoint           = _configContext.ImageEndPoint;
            ViewBag.IosDownloadAddress = _configContext.IosDownloadAddress;
            ViewBag.OsType             = osType;

            AppOsDetailsViewModel vm = _appBiz.GetAvailbleAppDescription(appID, appOsID, Convert.ToByte(osType)).Data;

            return(View(vm));
        }
Esempio n. 2
0
        public TResult <AppOsDetailsViewModel> GetAvailbleAppDescription(string appID, int appOsID, byte osType)
        {
            List <WisAppOsOther> wisAppOsOther = new List <WisAppOsOther>();
            WisAppList           wisAppList    = _appListService.GetAppName(appID);
            List <WisAppOs>      wisAppOs      = _appListService.GetAppOs(appID);
            List <WisAppPhoto>   wisAppPhoto   = _uploadFileService.GetPhotos(appID);

            AppDescription appDescription = _mapper.Map <WisAppList, AppDescription>(wisAppList);

            //取當前版
            AppOsInfo appNowVersion = _mapper.Map <WisAppOs, AppOsInfo>(
                wisAppOs.Where(
                    p => p.OSType == osType &&
                    p.Status == AppStatus.EnableBool &&
                    p.DelFlag == false &&
                    p.WebDownFlag == true &&
                    p.AppOSID == appOsID)?.OrderByDescending(p => p.CreateDT).FirstOrDefault());

            //是否要取得多載點 的path路徑
            if (appNowVersion.MultipleDownload)
            {
                wisAppOsOther = _uploadFileService.GetWisAppOsOther(appID, appOsID.ToString());
            }

            //至少會有 WisAppOS table 原始台灣載點路徑
            wisAppOsOther.Add(new WisAppOsOther {
                Site = "WHQ", FilePath = appNowVersion.FilePath
            });

            //組成完整載點路徑: endpoint+path url
            List <DownloadUrlList> downloadUrlList = UploadFileHepler.GetDownloadUrlList(_configContext.OtherSideEndPoint, wisAppOsOther);

            //歷史紀錄 前5筆
            List <AppOsInfo> appHistory = _mapper.Map <List <WisAppOs>, List <AppOsInfo> >(
                wisAppOs.Where(
                    p => p.OSType == osType &&
                    p.DelFlag == false
                    )?.OrderByDescending(p => p.CreateDT).Take(5).ToList());

            //圖片資訊 FileNumber = 5 為 icon 圖片
            List <AppPhotoContent> photo = _mapper.Map <List <WisAppPhoto>, List <AppPhotoContent> >(wisAppPhoto.Where(p => p.AppOS == osType)?.OrderBy(p => p.FileNumber).ToList());

            AppOsDetailsViewModel viewModel = new AppOsDetailsViewModel
            {
                Description   = appDescription,
                AppNowVersion = appNowVersion,
                AppOsHistory  = appHistory,
                Photo         = photo,
                DownloadList  = downloadUrlList
            };

            return(TResult <AppOsDetailsViewModel> .OK(viewModel, "OK"));
        }