Esempio n. 1
0
            /// <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
                    };
                }
            }
Esempio n. 2
0
        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.")));
        }
Esempio n. 3
0
        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.")));
        }
Esempio n. 4
0
        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.")));
        }
Esempio n. 5
0
        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.")));
        }
Esempio n. 6
0
        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.")));
        }
Esempio n. 7
0
        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.")));
        }
Esempio n. 8
0
        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.")));
        }
Esempio n. 9
0
        /// <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));
        }
Esempio n. 10
0
        /// <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));
        }
Esempio n. 11
0
        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));
        }
Esempio n. 12
0
        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.")));
        }
Esempio n. 13
0
        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));
        }
Esempio n. 14
0
 /// <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);
 }