Пример #1
0
        public async Task <DataResultDto <List <OpenSourceDto> > > GetList(int HeatType, int count)
        {
            DataResultDto <List <OpenSourceDto> > dataResultDto = new DataResultDto <List <OpenSourceDto> >();
            List <OpenSourceDto> list = new List <OpenSourceDto>();

            string where = $"where IsDelete=0 and HeatType={HeatType}";
            string sql = string.Format("select OpenSourceID,OpenSourceTitle,OpenSourceType,OpenSourceDescribe,OpenSourceContent,HeatType,Sort,CreateDate from `opensource` {0} order by Sort,CreateDate desc limit 0,{1}", where, count);
            IEnumerable <OpenSource> blist = null;

            using (var connection = CreateConnection())
            {
                blist = await connection.QueryAsync <OpenSource>(sql);
            }
            OpenSourceDto openSourceDto = null;

            foreach (var io in blist)
            {
                openSourceDto = Mapper.Map <OpenSource, OpenSourceDto>(io);
                openSourceDto.OpenSourceContent = string.Empty;//优化,不传到显示页面
                list.Add(openSourceDto);
            }
            dataResultDto.Code     = 0;
            dataResultDto.DataList = list;
            return(dataResultDto);
        }
Пример #2
0
        /// <summary>
        /// 修改开源项目
        /// </summary>
        /// <param name="blogDto"></param>
        /// <returns></returns>
        public async Task <bool> UpdateOpensource(OpenSourceDto openSourceDto)
        {
            string sql = "update `opensource` set OpenSourceType=@OpenSourceType,OpenSourceTitle=@OpenSourceTitle,OpenSourceDescribe=@OpenSourceDescribe,OpenSourceContent=@OpenSourceContent,HeatType=@HeatType,Sort=@Sort where OpenSourceID=@OpenSourceID";

            using (var connect = CreateConnection())
            {
                return(await connect.ExecuteAsync(sql, new { OpenSourceType = openSourceDto.OpenSourceType, OpenSourceTitle = openSourceDto.OpenSourceTitle, OpenSourceDescribe = openSourceDto.OpenSourceDescribe, OpenSourceContent = openSourceDto.OpenSourceContent, HeatType = openSourceDto.HeatType, Sort = openSourceDto.Sort, OpenSourceID = openSourceDto.OpenSourceID }) > 0);
            }
        }
Пример #3
0
        /// <summary>
        /// 添加开源项目
        /// </summary>
        /// <param name="blogDto"></param>
        /// <returns></returns>
        public async Task <bool> AddOpensource(OpenSourceDto openSourceDto)
        {
            string sql = "insert into `opensource`(OpenSourceType,OpenSourceTitle,OpenSourceDescribe,OpenSourceContent,HeatType,Sort,CreateDate) VALUES(@OpenSourceType,@OpenSourceTitle,@OpenSourceDescribe,@OpenSourceContent,@HeatType,@Sort,@CreateDate)";

            using (var connect = CreateConnection())
            {
                return(await connect.ExecuteAsync(sql, new { OpenSourceType = openSourceDto.OpenSourceType, OpenSourceTitle = openSourceDto.OpenSourceTitle, OpenSourceDescribe = openSourceDto.OpenSourceDescribe, OpenSourceContent = openSourceDto.OpenSourceContent, HeatType = openSourceDto.HeatType, Sort = openSourceDto.Sort, CreateDate = DateTime.Now }) > 0);
            }
        }
Пример #4
0
        /// <summary>
        /// 获取一条开源项目
        /// </summary>
        /// <param name="opensourceId"></param>
        /// <returns></returns>
        public async Task <OpenSourceDto> GetOneOpensourceIdAsync(int opensourceId)
        {
            OpenSourceDto openSourceDto = new OpenSourceDto();
            string        sql           = "select OpenSourceID,OpenSourceType,OpenSourceTitle,OpenSourceDescribe,OpenSourceContent from `opensource` where OpenSourceID=@OpenSourceID and IsDelete=0  ";

            using (var connection = CreateConnection())
            {
                OpenSource openSource = await connection.QueryFirstAsync <OpenSource>(sql, new { OpenSourceID = opensourceId });

                openSourceDto = Mapper.Map <OpenSource, OpenSourceDto>(openSource);
            }
            return(openSourceDto);
        }
Пример #5
0
        /// <summary>
        /// 分页获取开源项目
        /// </summary>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="keyWord"></param>
        /// <param name="orderFiled"></param>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <returns></returns>
        public async Task <DataResultDto <List <OpenSourceDto> > > GetListByPage(DateTime?startTime, DateTime?endTime, string keyWord, string orderFiled, int pageSize, int pageIndex)
        {
            DataResultDto <List <OpenSourceDto> > dataResultDto = new DataResultDto <List <OpenSourceDto> >();
            List <OpenSourceDto> list = new List <OpenSourceDto>();

            string where = "where IsDelete=0 ";


            if (startTime != null && endTime != null)
            {
                where += "  and CreateDate BETWEEN @StartTime and @EndTime ";
            }

            if (!string.IsNullOrEmpty(keyWord))
            {
                where += "  and (OpenSourceTitle like @KeyWork or OpenSourceContent like @KeyWork or OpenSourceDescribe like @KeyWork) ";
            }

            string order = string.Empty;

            if (!string.IsNullOrEmpty(orderFiled))
            {
                order = string.Format("order by {0}", orderFiled);
            }

            string sql = string.Format("select OpenSourceID,OpenSourceTitle,OpenSourceType,OpenSourceDescribe,OpenSourceContent,CreateDate from `opensource` {0}  {1} limit {2},{3}", where, order, (pageIndex - 1) * pageSize, pageSize);

            string sqlCount = string.Format("select count(1) from `opensource`  {0}  ", where);

            IEnumerable <OpenSource> blist = null;

            using (var connection = CreateConnection())
            {
                dataResultDto.Count = await connection.QueryFirstAsync <int>(sqlCount, new { StartTime = startTime, EndTime = endTime, KeyWork = string.Format("%{0}%", keyWord) });

                blist = await connection.QueryAsync <OpenSource>(sql, new { StartTime = startTime, EndTime = endTime, KeyWork = string.Format("%{0}%", keyWord), OrderFiled = orderFiled });
            }

            OpenSourceDto openSourceDto = null;

            foreach (var io in blist)
            {
                openSourceDto = Mapper.Map <OpenSource, OpenSourceDto>(io);
                list.Add(openSourceDto);
            }
            dataResultDto.Code     = 0;
            dataResultDto.DataList = list;
            return(dataResultDto);
        }
Пример #6
0
        public async Task <IActionResult> ShowOpenSource(int id)
        {
            //登陆用户
            if (HttpContext.User.Identity.IsAuthenticated)
            {
                var claim = GetClaim(HttpContext.User.Claims, ClaimTypes.Sid);
                if (claim != null)
                {
                    UserDto userDtoLogin = new UserDto();
                    userDtoLogin.UserId = int.Parse(claim.Value);
                    claim = GetClaim(HttpContext.User.Claims, ClaimTypes.Name);
                    userDtoLogin.UserName = claim.Value;
                    TempData["LoginUser"] = userDtoLogin;
                }
            }
            //获取具体开源项目
            OpenSourceDto openSourceDto = await this._openSourceServic.GetOneOpensourceIdAsync(id);

            ViewBag.OpenSourceDto = openSourceDto;
            //获取管理员
            UserDto userDto = await this._userService.GetOneUserByUserIdAsync(this._webStaticConfig.BlogBackUserId);

            ViewBag.UserDto = userDto;
            //热门开源项目
            var dataResultDto = await this._openSourceServic.GetList(1, 15);

            if (dataResultDto.Code == 0)
            {
                ViewData["HeatOpenSource"] = dataResultDto.DataList;
            }
            //开源项目
            dataResultDto = await this._openSourceServic.GetList(0, 15);

            if (dataResultDto.Code == 0)
            {
                ViewData["OpenSource"] = dataResultDto.DataList;
            }
            ViewData["Title"]       = $"{this._webStaticConfig.WebName}-{openSourceDto.OpenSourceTitle}";
            ViewData["KeyWord"]     = $"开源,github,码云,.net core,net,c#,java,python";
            ViewData["Description"] = openSourceDto.OpenSourceDescribe;
            return(View());
        }
Пример #7
0
        public async Task <IActionResult> Add(int?id)
        {
            ViewBag.NavTitle = "添加开源项目";
            ViewBag.Btn      = "添加";
            OpenSourceDto openSourceDto = null;

            if (id != null)
            {
                openSourceDto = await this._openSourceService.GetOneOpensourceIdAsync((int)id);

                ViewBag.NavTitle = "编辑开源项目";
                ViewBag.Btn      = "编辑";
            }
            else
            {
                openSourceDto = new OpenSourceDto();
            }
            ViewBag.OpenSourceDto = openSourceDto;
            return(View());
        }
Пример #8
0
        public async Task <IActionResult> Add(OpenSourceDto openSourceDto)
        {
            BaseDataResultDto baseDataResultDto = new BaseDataResultDto();

            if (!ModelState.IsValid)
            {
                baseDataResultDto.Code = 1;
                baseDataResultDto.Msg  = "你的输入有误,请检查";
                return(Json(baseDataResultDto));
            }
            if (openSourceDto.OpenSourceID != 0)
            {
                if (await this._openSourceService.UpdateOpensource(openSourceDto))
                {
                    baseDataResultDto.Code = 0;
                    baseDataResultDto.Msg  = "修改开源项目成功!";
                }
                else
                {
                    baseDataResultDto.Code = 1;
                    baseDataResultDto.Msg  = "修改开源项目失败!";
                }
            }
            else
            {
                if (await this._openSourceService.AddOpensource(openSourceDto))
                {
                    baseDataResultDto.Code = 0;
                    baseDataResultDto.Msg  = "添加开源项目成功!";
                }
                else
                {
                    baseDataResultDto.Code = 1;
                    baseDataResultDto.Msg  = "添加开源项目失败!";
                }
            }
            return(Json(baseDataResultDto));
        }