/// <summary> /// /// </summary>s /// <param name="context"></param> public override void OnActionExecuting(ActionExecutingContext context) { bool hasAllowAnonymous = context.ActionDescriptor.EndpointMetadata .Any(en => en.GetType() == typeof(AllowAnonymousAttribute)); var role = Enum.TryParse <UserRole>(context.HttpContext.User.FindFirstValue(ClaimTypes.Role) ?? "", out var userRole); bool rolebyPass = role && (userRole != UserRole.Normal); /* by pass * AllowAnonymous: * default: flase * optional: true if set _require variable = true * Authorize: * default: true * optional: false if Role in (Visitor,Admin,SuperAdmin) */ var byPassChecksum = (hasAllowAnonymous && !_require) || (rolebyPass && !hasAllowAnonymous); if (byPassChecksum || (!byPassChecksum && IsValidCheckSum(context.HttpContext.Request))) { base.OnActionExecuting(context); } else { var response = ResultObject.Fail("Dữ liệu không toàn vẹn. Vui lòng kiểm tra lại.", code: ResultCode.ErrorChecksumFail); context.Result = new ContentResult() { Content = JsonConvert.SerializeObject(response), ContentType = "application/json; charset=utf-8", StatusCode = (int)HttpStatusCode.OK }; } }
public async Task <ActionResult> Delete(int Id) { int result = await _mediator.Send(new DeleteCategoryRequest { Id = Id }); if (result == 1) { return(Ok(ResultObject.Ok <NullDataType>(null, "Xóa Vĩnh viễn thành công."))); } return(Ok(ResultObject.Fail("Thất bại."))); }
public async Task <ActionResult> Create([FromBody] CreateCategoryRequest topic) { int editStatus = await _mediator.Send(topic); if (editStatus > 0) { return(Ok(ResultObject.Ok <NullDataType>(null, "Thêm thành công."))); } return(Ok(ResultObject.Fail("Thất bại."))); }
public async Task <ActionResult> reTrash(int Id) { int result = await _mediator.Send(new ReTrashCategoryRequest { Id = Id }); if (result == 1) { return(Ok(ResultObject.Ok <NullDataType>(null, "Khôi phục thành công."))); } return(Ok(ResultObject.Fail("Thất bại."))); }
public async Task <ActionResult> deTrash(int Id) { var result = await _mediator.Send(new DeTrashUserRequest { Id = Id }); if (result == 1) { return(Ok(ResultObject.Ok <NullDataType>(null, "Xóa thành công."))); } return(Ok(ResultObject.Fail("Thất bại."))); }
public async Task <ActionResult> editUser([FromBody] EditUserRequest user) { var result = await _mediator.Send(user); if (result == 1) { return(Ok(ResultObject.Ok <NullDataType>(null, "Cập thật thành công."))); } return(Ok(ResultObject.Fail("Thất bại."))); }
public async Task <ActionResult> createComment([FromBody] CreateCommentRequest comment) { var status = await _mediator.Send(comment); if (status == 1) { return(Ok(ResultObject.Ok <NullDataType>(null, "Thêm thành công."))); } return(Ok(ResultObject.Fail("Thất bại."))); }
public async Task <ActionResult> editPost([FromBody] EditPostRequest post) { var status = await _mediator.Send(post); if (status == 1) { return(Ok(ResultObject.Ok <NullDataType>(null, "Cập thật thành công."))); } return(Ok(ResultObject.Fail("Thất bại."))); }
/// <summary> /// /// </summary> /// <param name="response"></param> /// <returns></returns> private Task HandleResponse(HttpResponse response) { var responseData = ResultObject.Fail( "Hệ thống đang bảo trì, vui lòng quay lại sau.", code: ResultCode.ErrorMaintenance ); string jsonData = JsonConvert.SerializeObject(responseData); response.ContentType = "application/json; charset=utf-8"; response.StatusCode = 200; return(response.WriteAsync(jsonData)); }
/// <summary> /// /// </summary> /// <param name="context"></param> /// <returns></returns> public override Task OnExceptionAsync(ExceptionContext context) { var exception = context.Exception; string msg = exception.Message; _log.LogError(exception, msg); context.Result = new JsonResult(ResultObject.Fail(msg)) { ContentType = "application/json;charset=utf-8" }; context.ExceptionHandled = true; return(base.OnExceptionAsync(context)); }
public IActionResult Authenticate(AuthRequest model) { if (model.Username == null || model.Password == null || model.Username.Equals("") || model.Password.Equals("")) { return(Ok(ResultObject.Fail("Tên đăng nhâp hoặc mật khẩu trống."))); } var response = _userService.Authenticate(model); if (response == null) { return(Ok(ResultObject.Fail("Tên đăng nhập hoặc mật khẩu không dúng."))); } response.user.password = null; var result = ResultObject.Ok <authReponse>(response, "Đăng nhập thành công"); return(Ok(result)); }
public async Task <ActionResult> ChangeStatus(int Id, int Status) { if (Status == 2) { Status = 1; } else { Status = 2; } int result = await _mediator.Send(new ChangeStatusCategoryRequest { Id = Id, Status = Status }); if (result == 1) { return(Ok(ResultObject.Ok <NullDataType>(null, "Thay đổi trạng thái thành công."))); } return(Ok(ResultObject.Fail("Thất bại."))); }
public ActionResult Save(SaveDepartmentRequest request) { var rs = SafeOptionHelper.Execute(request, new SaveDepartmentValidator(), () => { var data = request.Data; if (request.OptionType == OptionType.Add) { _departmentRepository.Add(new Department { Name = data.Name, ParentId = data.ParentId, Remark = data.Remark }); _uow.Commit(); return(ResultObject.Success()); } if (request.OptionType == OptionType.Edit) { var dep = _departmentRepository.GetByKey(data.Id); if (dep == null) { throw new Exception("部门信息未找到"); } dep.Name = data.Name; dep.ParentId = data.ParentId; dep.Remark = data.Remark; _uow.Commit(); return(ResultObject.Success()); } return(ResultObject.Fail(500, "不支持的操作类型")); }); return(Json(rs)); }
/// <summary> /// /// </summary> /// <param name="context"></param> public override void OnResultExecuting(ResultExecutingContext context) { if (!(context.Result is NoContentResult) || !(context.Result is FileResult)) { var result = context.Result as ObjectResult; context.Result = new ContentResult() { Content = JsonConvert.SerializeObject(result.StatusCode == null ? ResultObject.Success(result.Value) : ResultObject.Fail(JsonConvert.SerializeObject(result.Value))), ContentType = "application/json;charset=utf-8", }; } base.OnResultExecuting(context); }