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); }
/// <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); } }
/// <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); } }
/// <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); }
/// <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); }
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()); }
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()); }
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)); }