private async Task <OpreationResult <ChannelViewModel> > GetChannel(string Url) { try { if (string.IsNullOrEmpty(Url)) { Url = request.Url; } var channel = await db.Set <Models.Channel>().Where(a => a.Url == Url).FirstOrDefaultAsync(); if (channel == null) { channel = await db.Set <Models.Channel>().OrderBy(a => a.SortId).FirstOrDefaultAsync(); } if (channel == null) { return(OpreationResult <ChannelViewModel> .Init(OpreationResuleType.QueryNull, null, "不存在任何频道,请新建一个频道")); } return(OpreationResult <ChannelViewModel> .Init(OpreationResuleType.Success, mapper.MapTo <ChannelViewModel, Models.Channel>(channel))); } catch (Exception e) { throw new Exception("查询频道时出错", e); } }
public async Task <OpreationResult <Administrator> > LoginAsync(AdminLoginViewModel model) { var dbAdmin = await db.Set <Administrator>().Where(a => a.LoginName == model.LoginName).AsNoTracking().FirstOrDefaultAsync(); if (dbAdmin == null) { return(OpreationResult <Administrator> .Init(OpreationResuleType.QueryNull, null, "用户不存在")); } if (dbAdmin.Password != SHA.SHA512(model.Password).ToLower()) { return(OpreationResult <Administrator> .Init(OpreationResuleType.ValidtorError, null, "您的密码不正确")); } var updateModel = new AdministratorDto() { Id = dbAdmin.Id, LastLoginIp = model.LastLoginIp, LastLoginTime = DateTime.Now, Password = dbAdmin.Password, LoginName = dbAdmin.LoginName }; await CreateOrUpdate(updateModel); dbAdmin.Password = null; return(OpreationResult <Administrator> .Init(OpreationResuleType.Success, dbAdmin)); }
private async Task <OpreationResult <ChannelViewModel> > GetChannel(int Id) { try { if (Id != 0) { var channel = await db.Set <Models.Channel>().Where(a => a.Id == Id).FirstOrDefaultAsync(); if (channel == null) { return(OpreationResult <ChannelViewModel> .Init(OpreationResuleType.QueryNull, null, "请求的频道不存在")); } else { return(OpreationResult <ChannelViewModel> .Init(OpreationResuleType.Success, mapper.MapTo <ChannelViewModel, Models.Channel>(channel))); } } else { return(OpreationResult <ChannelViewModel> .Init(OpreationResuleType.ValidtorError, null, "请求的参数错误,请勿非法修改参数")); } } catch (Exception e) { throw new Exception("根据ID获取频道时出错", e); } }
async Task <OpreationResult> IChannelContract.Delete(int Id) { var categoryCount = await db.Set <Models.ArticleCategory>().Where(a => a.ChannelID == Id).CountAsync(); if (categoryCount > 0) { return(OpreationResult.Init(OpreationResuleType.ValidtorError, "请先删除当前频道下的分类")); } else { var delModel = await db.Set <Models.Channel>().Where(a => a.Id == Id).FirstOrDefaultAsync(); db.Set <Models.Channel>().Remove(delModel); var result = await db.SaveChangesAsync(); if (result > 0) { return(OpreationResult.Init(OpreationResuleType.Success, "删除频道成功")); } else { return(OpreationResult.Init(OpreationResuleType.Error, "删除失败")); } } }
public void OnResultExecuting(ResultExecutingContext context) { if (!context.ModelState.IsValid) { var errorMessages = context.ModelState.Values.Where(a => a.Errors.Count > 0).SelectMany(a => a.Errors.Select(c => c.ErrorMessage)).ToList(); context.Result = new JsonResult(OpreationResult <List <string> > .Init(OpreationResuleType.ValidtorError, errorMessages, "校验失败")); } }
OpreationResult <List <ChannelViewModel> > IChannelContract.GetList(Func <Models.Channel, bool> func) { var list = db.Set <Models.Channel>().Where(func).OrderBy(a => a.SortId).Select(a => new ChannelViewModel() { Id = a.Id, Name = a.ChannelName, SortId = a.SortId, Url = a.Url }).ToList(); return(OpreationResult <List <ChannelViewModel> > .Init(OpreationResuleType.Success, list, "获取成功")); }
public OpreationResult Clear(string key) { try { cache.Remove(key); return(OpreationResult.Init(OpreationResuleType.Success)); }catch (Exception e) { return(OpreationResult.Init(OpreationResuleType.Error, e.Message)); } }
public OpreationResult <T> Get <T>(string key) where T : class { try { var result = cache.Get(key); return(OpreationResult <T> .Init(OpreationResuleType.Success, (T)result)); } catch (Exception e) { return(OpreationResult <T> .Init(OpreationResuleType.Error, default(T), e.Message)); } }
public async Task <OpreationResult <ChannelViewModel> > GetChannel(ChannelQueryModel queryModel) { if (queryModel.Id != null) { return(await this.GetChannel(queryModel.Id.Value)); } if (queryModel.Url != null) { return(await this.GetChannel(queryModel.Url)); } return(OpreationResult <ChannelViewModel> .Init(OpreationResuleType.QueryNull, null, "频道不存在")); }
public OpreationResult Set <T>(T obj, string key, TimeSpan timeSpan) { try { var result = cache.Set <T>(key, obj, timeSpan); return(OpreationResult.Init(OpreationResuleType.Success)); } catch (Exception e) { return(OpreationResult.Init(OpreationResuleType.Error, e.Message)); } }
public OpreationResult <T> Get <T>(string key) where T : class { try { var result = cache.Get(key); var temp = JsonConvert.SerializeObject(result); return(OpreationResult <T> .Init(OpreationResultType.Success, JsonConvert.DeserializeObject <T>(temp))); } catch (Exception e) { return(OpreationResult <T> .Init(OpreationResultType.Error, default(T), e.Message)); } }
public OpreationResult Update <T>(T obj, string key) { try { cache.Remove(key); cache.Set <T>(key, obj); return(OpreationResult.Init(OpreationResuleType.Success)); } catch (Exception e) { return(OpreationResult.Init(OpreationResuleType.Error, e.Message)); } }
public async Task <OpreationResult <LoginResult> > Post([FromBody] AdminLoginViewModel model) { model.LastLoginIp = HttpContext.GetClientUserIp(); model.LastLoginTime = DateTime.Now; var result = await administrator.LoginAsync(model); if (result.ResuleType == OpreationResuleType.Success) { var token = Guid.NewGuid().ToString("N").ToString().ToLower(); cache.Set(result.Data, token); return(OpreationResult <LoginResult> .Init(OpreationResuleType.Success, new LoginResult() { Token = token, UserName = result.Data.LoginName }, "登陆成功")); } return(OpreationResult <LoginResult> .Init(result.ResuleType, null, result.Message)); }
async Task <OpreationResult> IChannelContract.Update(ChannelDto model) { var dbModel = await db.Set <Models.Channel>().Where(a => a.Id == model.Id).FirstOrDefaultAsync(); dbModel = mapper.MapTo <Models.Channel, ChannelDto>(model); db.Set <Models.Channel>().Update(dbModel); var result = await db.SaveChangesAsync(); if (result > 0) { return(OpreationResult.Init(OpreationResuleType.Success)); } else { return(OpreationResult.Init(OpreationResuleType.Error, "更新失败,请稍后重试")); } }
public void OnAuthorization(AuthorizationFilterContext context) { if (string.IsNullOrEmpty(context.HttpContext.Request.Headers["H-Token"])) { context.Result = new JsonResult(OpreationResult.Init(OpreationResuleType.UnLogin, "用户未登陆")); } else { cache = (ICache)service.GetService(typeof(ICache)); var cacheResult = cache.Get <Models.Administrator>(context.HttpContext.Request.Headers["H-Token"].ToString().ToLower()); if (cacheResult.ResuleType == OpreationResuleType.Success) { environment.CurrentUser = cacheResult.Data; } else { context.Result = new JsonResult(OpreationResult.Init(OpreationResuleType.UnLogin, "用户未登陆")); } } }
async Task <OpreationResult <ChannelViewModel> > IChannelContract.Insert(ChannelDto model) { if (model != null) { var dbModel = mapper.MapTo <Models.Channel, ChannelDto>(model); await db.Set <Models.Channel>().AddAsync(dbModel); int result = await db.SaveChangesAsync(); if (result > 0) { return(OpreationResult <ChannelViewModel> .Init(OpreationResuleType.Success, mapper.MapTo <ChannelViewModel, Models.Channel>(dbModel), "新增成功")); } else { return(OpreationResult <ChannelViewModel> .Init(OpreationResuleType.Error, null, "新增失败")); } } else { return(OpreationResult <ChannelViewModel> .Init(OpreationResuleType.ValidtorError, null, "数据格式不正确")); } }
public async Task <OpreationResult> CreateOrUpdate(AdministratorDto dto) { if (dto.Id.HasValue) { var dbAdmin = await db.Set <Administrator>().Where(a => a.Id == dto.Id).FirstOrDefaultAsync(); dbAdmin.LastLoginIp = dto.LastLoginIp; dbAdmin.LastLoginTime = dto.LastLoginTime; dbAdmin.LoginName = dto.LoginName; if (!string.IsNullOrEmpty(dto.Password)) { dbAdmin.Password = dto.Password; } db.Set <Administrator>().Update(dbAdmin); } else { var dbAdmin = mapper.MapTo <Administrator, AdministratorDto>(dto); await db.Set <Administrator>().AddAsync(dbAdmin); } var saveResult = await db.SaveChangesAsync(); return(saveResult > 0 ? OpreationResult.Init(OpreationResuleType.Success) : OpreationResult.Init(OpreationResuleType.Error)); }