Example #1
0
        /// <summary>
        /// 获取站点详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <ApiResult <GetWebsitOutput> > GetWebSite(string id)
        {
            GetWebsitOutput result  = null;
            var             webSite = await _siteFullRepository.GetAsync(id);

            if (webSite != null)
            {
                if (webSite.WebSite.IsDeleted)
                {
                    return(ApiResult.DataNotFound <GetWebsitOutput>());
                }
                result = WebSiteFull.MapTo <GetWebsitOutput>(webSite);
                if (!string.IsNullOrEmpty(webSite.WebSite.WebSiteMater))
                {
                    //获取关联的DefaultJFPrice和DefaultNotePrice
                    var price = _userScoreRepository.GetAll()
                                .Where(i => i.Id == result.WebSiteMater)
                                .Select(i => new
                    {
                        i.JfPrice,
                        i.NotePrice
                    }).FirstOrDefault();

                    //获取关联的provinceid
                    var province = _userSysSettingRepository.GetAll().Where(i => i.Id == result.WebSiteMater)
                                   .Select(i => new
                    {
                        i.Provinceid
                    }).FirstOrDefault();

                    //获取关联的Email和LoginName
                    var info = _userRepository.GetAll().Where(i => i.Id == result.WebSiteMater)
                               .Select(i => new
                    {
                        i.EmailAddress,
                        i.LoginName
                    }).FirstOrDefault();

                    //var (price, province, info) = await (defaultJFPriceAndDefaultNotePriceTask, provinceidTask,
                    //    emailAndloginnameTask);

                    result.DefaultJFPrice   = price?.JfPrice;
                    result.DefaultNotePrice = price?.NotePrice;
                    result.Provinceid       = province?.Provinceid ?? "0";
                    result.Email            = info?.EmailAddress;
                    result.loginname        = info?.LoginName;
                }
            }

            return(ApiResult.Success(result));
        }