public ActionResult Personal([Bind(Exclude = "RealName, StuNumber, Identification")] AcntWithoutPsw userAcnt) { var result = new QsResult { Success = false }; if (ModelState.IsValid) { var userInCookie = CustomAuthorizeAttribute.GetUser(); if (userAcnt.UserId != userInCookie.UserId) { result.Message = @"请不要尝试修改您不允许改动的内容"; return(Json(result)); } var original = _userService.GetUserById(userInCookie.UserId); if (TryUpdateModel(original, null, null, new [] { "RealName", "StuNumber", "Identification", "Roles" })) { _userService.UpdateUserInformation(original); SafeOutAuthCookie(); SetAuthCookie(QsMapper.CreateMap <UserDto, UserSafetyModel>(original)); result.Success = true; return(Json(result)); } } return(Json(result)); }
public QsResult CheckUserInLogin(string nameOrNumber, string password, bool isAdmin = false) { var result = new QsResult { Success = false }; User model; if (isAdmin) { model = _userRepository.FirstOrDefault( user => user.UserName.Equals(nameOrNumber) && (user.Roles.Equals("Admin") || user.Roles.Equals("Editor"))); } else { model = _userRepository.FirstOrDefault(user => user.UserName.Equals(nameOrNumber)); } if (model == null) { result.Message = @"该用户不存在"; return(result); } if (model.Password.Equals(password)) { result.Success = true; result.Message = model.UserId.ToString(CultureInfo.InvariantCulture); return(result); } result.Message = @"密码输入错误"; return(result); }
public ActionResult ChangePassword(ProfileChangePassword model) { model.Trim(); var result = new QsResult { Success = false }; if (!ModelState.IsValid) { return(Json(result)); } var user = _userService.GetUserById(GetUserInCookie().UserId); if (!user.Password.Equals(Utilities.MD5(model.CurrentPassword))) {//验证原始密码 result.Message = @"原始密码输入错误"; ModelState.AddModelError("CurrentPassword", result.Message); return(Json(result)); } if (model.CurrentPassword.Equals(model.NewPassword)) {//判断到新旧密码一致 result.Message = @"新旧密码一致,未进行修改操作"; return(Json(result)); } user.Password = Utilities.MD5(model.NewPassword); _userService.UpdateUserInformation(user); SafeOutAuthCookie(); result.Success = true; return(Json(result)); }
public QsResult SharedCoverSaveAs(HttpPostedFileBase postedFile, bool isReOriginal = false) { var result = new QsResult(); var fileType = Utilities.GetFileTypeName(postedFile.FileName); var fileSize = postedFile.ContentLength; var fileName = postedFile.FileName.Substring(postedFile.FileName.LastIndexOf(@"\", StringComparison.Ordinal) + 1); var newFileName = Utilities.GetRamCodeOnDate() + "." + fileType; if (isReOriginal) { //如果 isReOriginal为True,那就使用原始名字 newFileName = Utilities.GetFileNameWithoutType(fileName) + "." + fileType; } if (!CheckFileExt(fileType)) { result.Success = false; result.Message = @"不允许上传的文件类型"; return(result); } if (!IsImage(fileType)) { result.Success = false; result.Message = @"检测到上传的是非图片文件"; return(result); } if (!CheckFileSize(fileSize)) { result.Success = false; result.Message = @"上传的图片大小超出限制的 " + _siteConfig.AttachImgSize; return(result); } var dirPath = GetUpLoadPath(); //存储至物理路径 var toFileFullPath = Utilities.GetMapPath(dirPath); if (!Directory.Exists(toFileFullPath)) { Directory.CreateDirectory(toFileFullPath); } postedFile.SaveAs(toFileFullPath + newFileName); if (_siteConfig.AttachImgMaxHeight > 0 || _siteConfig.AttachImgMaxWidth > 0) { Thumbnail.MakeThumbnailImage(toFileFullPath + newFileName, toFileFullPath + newFileName, _siteConfig.AttachImgMaxWidth, _siteConfig.AttachImgMaxHeight); } var serverFileName = dirPath + newFileName; result.Message = serverFileName; return(result); }
public ActionResult Delete(Int64 id) { var result = new QsResult(); var model = _suggestionService.GetSuggestionById(id); if (model == null) { result.Success = false; result.Message = @"找不到对象"; return(Json(result)); } _suggestionService.DeleteSuggestion(id); return(Json(result)); }
public ActionResult Delete(int id) { var result = new QsResult(); var model = _tagService.GetTagById(id); if (model == null) { result.Success = false; result.Message = @"找不到对象"; return(Json(result)); } _tagService.DeleteTag(id); return(Json(result)); }
public ActionResult Delete(Int64 id) { var result = new QsResult(); var model = _recentService.GetRecentActivityById(id); if (model == null) { result.Success = false; result.Message = @"找不到对象"; return(Json(result)); } _recentService.DeleteRecentActivity(id); return(Json(result)); }
public ActionResult NewsFormPartial(NewsCommentDto model) { var result = new QsResult(); if (!Request.IsAjaxRequest()) { return(new EmptyResult()); } model.CreateTime = DateTime.Now; model.UniqueKey = Utilities.GetRamCodeOnDate(); if (System.Web.HttpContext.Current.Request.IsAuthenticated) { var curUser = CustomAuthorizeAttribute.GetUser(); if (curUser.UserId == model.IsMember) { if (ModelState.IsValid) { //result.Success = true; //result.Message = @"用户登陆状态下验证成功"; _commentService.AddNewsComment(model); var newModel = _commentService.GetNewestCommentInNewsWithFilter(model.UniqueKey); return(PartialView("_SegmentPartial", newModel)); } result.Success = false; result.Message = @"用户登陆状态下验证失败~~"; return(Json(result)); } result.Success = false; result.Message = @"用户的编号在客户端被修改,导致内容不一致"; return(Json(result)); } if (ModelState.IsValid) { //result.Success = true; //result.Message = @"游客状态下验证成功"; //return Json(result); if (String.IsNullOrEmpty(model.NickName)) { model.NickName = @"[匿名用户]"; } _commentService.AddNewsComment(model); var newModel = _commentService.GetNewestCommentInNewsWithFilter(model.UniqueKey); return(PartialView("_SegmentPartial", newModel)); } result.Success = false; result.Message = @"游客状态下验证失败"; return(Json(result)); }
public QsResult DeleteUser(int id) { var result = new QsResult { Success = false }; var currentUser = _userRepository.Get(id); if (currentUser == null) { result.Message = @"找不到对象"; return(result); } _userRepository.Remove(currentUser); _userRepository.UnitOfWork.Commit(); result.Success = true; return(result); }
public ActionResult SuggestionFormPartial(SuggestionDto model) { if (!Request.IsAjaxRequest()) { return(new EmptyResult()); } var result = new QsResult(); if (ModelState.IsValid) { _suggestionService.AddSuggestion(model); result.Success = true; return(Json(result)); } result.Success = false; result.Message = @"回传成功,验证失败"; return(Json(result)); }
public QsResult CheckUserInLogin(string nameOrNumber, string password, bool isAdmin = false) { var result = new QsResult { Success = false }; User model; if (isAdmin) { model = _userRepository.FirstOrDefault( user => user.UserName.Equals(nameOrNumber) && (user.Roles.Equals("Admin") || user.Roles.Equals("Editor"))); } else { model = _userRepository.FirstOrDefault(user => user.UserName.Equals(nameOrNumber)); } //后台的话就不允许使用学号登录 if (!isAdmin && model == null && nameOrNumber.All(Char.IsNumber)) {//如果用户不存在且用户名都是数字,则判断输入的是否为学号,根据学号找其数据 model = _userRepository.FirstOrDefault(user => user.StuNumber.Equals(nameOrNumber)); if (model == null) { result.Message = @"该用户不存在"; return(result); } } if (model == null) { result.Message = @"该用户不存在"; return(result); } if (model.Password.Equals(password)) { result.Success = true; result.Message = model.UserId.ToString(CultureInfo.InvariantCulture); return(result); } result.Message = @"密码输入错误"; return(result); }
public ActionResult ResetPassword(int id) { var result = new QsResult(); if (Request.IsAjaxRequest()) { var model = _userService.GetUserById(id); if (model == null) { result.Success = false; result.Message = @"找不到对象"; return(Json(result)); } model.Password = Utilities.MD5(model.StuNumber); _userService.UpdateUserInformation(model); return(Json(result)); } return(RedirectToAction("Index")); }
public ActionResult ChangeStatus(Int64 id) { var result = new QsResult(); var model = _recentService.GetRecentActivityById(id); if (model == null) { result.Success = false; result.Message = @"找不到对象"; return(Json(result)); } if (!model.Status) { result.Success = false; result.Message = @"该活动已经处于过去状态,修改状态失败"; return(Json(result)); } model.Status = false; _recentService.ChangeRecentActivityDescription(id, model); return(Json(result)); }
public ActionResult ChangeImage() { var result = new QsResult { Success = false }; var user = _userService.GetUserById(GetUserInCookie().UserId); var file = Request.Files["ImageInput"]; if (file != null && file.ContentLength > 0) { var fileName = file.FileName; var fileExtension = fileName.Substring(fileName.IndexOf('.'), fileName.Length - fileName.IndexOf('.')); if (!String.IsNullOrWhiteSpace(user.PhotoUrl)) { if (!user.PhotoUrl.Equals("no-image.png")) { var deleteFileName = Server.MapPath("~/Profiles/HeadImage/" + user.PhotoUrl); System.IO.File.Delete(deleteFileName); } //物理存储头像 result.Message = user.PhotoUrl = user.StuNumber + "_" + DateTime.Now.Ticks + fileExtension; file.SaveAs(System.IO.Path.Combine(Server.MapPath("~/Profiles/HeadImage"), user.PhotoUrl)); result.Message = "/Profiles/HeadImage/" + result.Message; //修改用户信息 _userService.UpdateUserInformation(user); //更新Cookie中用户的信息 SafeOutAuthCookie(); user = _userService.GetUserById(user.UserId); SetAuthCookie(QsMapper.CreateMap <UserDto, UserSafetyModel>(user)); //更新完成 result.Success = true; return(Json(result)); } } result.Message = @"请选择想要上传的头像"; ModelState.AddModelError("PhotoUrl", @"请选择想要上传的头像"); return(Json(result)); }
/// <summary> /// 上传心理委员提交的心理反馈表 /// </summary> /// <param name="postedFile">上传的文件</param> /// <param name="latter">上传用户的学号</param> /// <returns>返回原始的文件名,未包含学号</returns> public QsResult DocumentSaveAs(HttpPostedFileBase postedFile, string latter) { var result = new QsResult { Success = false }; var fileType = Utilities.GetFileTypeName(postedFile.FileName); var fileSize = postedFile.ContentLength; var fileName = postedFile.FileName.Substring(postedFile.FileName.LastIndexOf(@"\", StringComparison.Ordinal) + 1); var newFileName = Utilities.GetFileNameWithoutType(fileName) + "_" + latter + "." + fileType; if (!CheckFileExt(fileType)) { result.Message = @"不允许上传的文件类型"; return(result); } if (!CheckFileSize(fileSize)) { result.Message = @"上传的文件大小超出限制的 " + _siteConfig.AttachImgSize; return(result); } var dirPath = GetUpLoadPath(); //存储至物理路径 var toFileFullPath = Utilities.GetMapPath(dirPath); if (!Directory.Exists(toFileFullPath)) { Directory.CreateDirectory(toFileFullPath); } postedFile.SaveAs(toFileFullPath + newFileName); var serverFileName = dirPath + newFileName; result.Success = true; result.Message = serverFileName; return(result); }
/// <summary> /// Creates an operation call from the conditional control API for Result literal comparisons. /// </summary> private TypedExpression CreateApplyIfExpression(QsResult result, TypedExpression conditionExpression, QsScope conditionScope, QsScope defaultScope) { var(isConditionValid, conditionId, conditionArgs) = this.IsValidScope(conditionScope); var(isDefaultValid, defaultId, defaultArgs) = this.IsValidScope(defaultScope); BuiltIn controlOpInfo; TypedExpression controlArgs; ImmutableArray <ResolvedType> targetArgsTypes; var props = ImmutableHashSet <OpProperty> .Empty; if (isConditionValid) { // Get characteristic properties from global id if (conditionId.ResolvedType.Resolution is ResolvedTypeKind.Operation op) { props = op.Item2.Characteristics.GetProperties(); if (defaultId != null && defaultId.ResolvedType.Resolution is ResolvedTypeKind.Operation defaultOp) { props = props.Intersect(defaultOp.Item2.Characteristics.GetProperties()); } } (bool adj, bool ctl) = (props.Contains(OpProperty.Adjointable), props.Contains(OpProperty.Controllable)); if (isDefaultValid) { if (adj && ctl) { controlOpInfo = BuiltIn.ApplyIfElseRCA; } else if (adj) { controlOpInfo = BuiltIn.ApplyIfElseRA; } else if (ctl) { controlOpInfo = BuiltIn.ApplyIfElseRC; } else { controlOpInfo = BuiltIn.ApplyIfElseR; } (TypedExpression, ImmutableArray <ResolvedType>) GetArgs(TypedExpression zeroId, TypedExpression zeroArgs, TypedExpression oneId, TypedExpression oneArgs) => (this.CreateValueTupleExpression( conditionExpression, this.CreateValueTupleExpression(zeroId, zeroArgs), this.CreateValueTupleExpression(oneId, oneArgs)), ImmutableArray.Create(zeroArgs.ResolvedType, oneArgs.ResolvedType)); (controlArgs, targetArgsTypes) = (result == QsResult.Zero) ? GetArgs(conditionId, conditionArgs, defaultId, defaultArgs) : GetArgs(defaultId, defaultArgs, conditionId, conditionArgs); } else if (defaultScope == null) { if (adj && ctl) { controlOpInfo = (result == QsResult.Zero) ? BuiltIn.ApplyIfZeroCA : BuiltIn.ApplyIfOneCA; } else if (adj) { controlOpInfo = (result == QsResult.Zero) ? BuiltIn.ApplyIfZeroA : BuiltIn.ApplyIfOneA; } else if (ctl) { controlOpInfo = (result == QsResult.Zero) ? BuiltIn.ApplyIfZeroC : BuiltIn.ApplyIfOneC; } else { controlOpInfo = (result == QsResult.Zero) ? BuiltIn.ApplyIfZero : BuiltIn.ApplyIfOne; } controlArgs = this.CreateValueTupleExpression( conditionExpression, this.CreateValueTupleExpression(conditionId, conditionArgs)); targetArgsTypes = ImmutableArray.Create(conditionArgs.ResolvedType); } else { return(null); // ToDo: Diagnostic message - default block exists, but is not valid } } else { return(null); // ToDo: Diagnostic message - condition block not valid } return(this.CreateControlCall(controlOpInfo, props, controlArgs, targetArgsTypes)); }