Exemple #1
0
        public void Mutation_ConfirmCleaned_InvalidEmployee()
        {
            Database.WriteAsync(realm =>
            {
                realm.Add(new Employee
                {
                    Id           = "nhanvien_60",
                    Address      = "Địa chỉ",
                    IsActive     = true,
                    Birthdate    = DateTimeOffset.Now,
                    Email        = "*****@*****.**",
                    Gender       = true,
                    Name         = "Quản trị viên",
                    IdentityCard = "123456789",
                    Password     = CryptoHelper.Encrypt("12345678"),
                    PhoneNumber  = "+84 0123456789",
                    Position     = PositionBusiness.Get(1),
                    StartingDate = DateTimeOffset.Now
                });
                realm.Add(new HouseKeeping
                {
                    Id       = 22,
                    Status   = (int)HouseKeeping.StatusEnum.Cleaning,
                    Employee = EmployeeBusiness.Get("nhanvien_60"),
                    Booking  = BookingBusiness.Get(1)
                });
            }).Wait();

            SchemaHelper.ExecuteAndExpectError(
                "Nhân viên không được phép xác nhận dọn",
                @"/_GraphQL/HouseKeeping/mutation.confirmCleaned.gql",
                new { id = 22 },
                p => p.PermissionCleaning = true
                );
        }
Exemple #2
0
        public void Mutation_ResetPassword()
        {
            Database.WriteAsync(realm =>
            {
                realm.Add(new Employee
                {
                    Id           = "nhanvien_2",
                    Address      = "Địa chỉ",
                    IsActive     = true,
                    Birthdate    = DateTimeOffset.Now,
                    Email        = "*****@*****.**",
                    Gender       = true,
                    Name         = "Quản trị viên",
                    IdentityCard = "123456789",
                    Password     = CryptoHelper.Encrypt("12345678"),
                    PhoneNumber  = "+84 0123456789",
                    Position     = PositionBusiness.Get(1),
                    StartingDate = DateTimeOffset.Now
                });
            }).Wait();

            SchemaHelper.Execute(
                @"/_GraphQL/Employee/mutation.resetPassword.gql",
                @"/_GraphQL/Employee/mutation.resetPassword.schema.json",
                new { id = "nhanvien_2" },
                p => p.PermissionManageEmployee = true
                );
        }
Exemple #3
0
        private void Dispose(bool dispose)
        {
            if (dispose)
            {
                if (_articleBusiness != null)
                {
                    _articleBusiness = null;
                }

                if (_articlePhotoBusiness != null)
                {
                    _articlePhotoBusiness = null;
                }

                if (_nextEventBusiness != null)
                {
                    _nextEventBusiness = null;
                }

                if (_photoBusiness != null)
                {
                    _photoBusiness = null;
                }

                if (_playerPhotoBusiness != null)
                {
                    _playerPhotoBusiness = null;
                }

                if (_playerPositionBusiness != null)
                {
                    _playerPositionBusiness = null;
                }

                if (_playerBusiness != null)
                {
                    _playerBusiness = null;
                }

                if (_positionBusiness != null)
                {
                    _positionBusiness = null;
                }

                if (_userBusiness != null)
                {
                    _userBusiness = null;
                }
                if (_repositoryContext != null)
                {
                    _repositoryContext.Dispose();
                    _repositoryContext = null;
                }

                if (_instance != null)
                {
                    _instance = null;
                }
            }
        }
Exemple #4
0
        public void PositionContributorGetTest()
        {
            Guid userId   = new Guid("1538694e-12f2-e111-a89d-00155d02e702");
            Guid groupSid = new Guid("aeab580d-df16-42d5-9714-e4e581fc8134");

            var actual = PositionBusiness.Get(false);

            Assert.IsTrue(actual.Count() > 0);
        }
Exemple #5
0
        public Position GetManaged()
        {
            var position = PositionBusiness.Get(Id);

            if (position == null)
            {
                throw new Exception("Mã chức vụ không tồn tại");
            }
            return(position);
        }
Exemple #6
0
 public HttpResponseMessage GetByTeacher()
 {
     try
     {
         var lt = PositionBusiness.Get(true);
         return(Request.CreateResponse(HttpStatusCode.OK, lt));
     }
     catch (Exception exc)
     {
         var logId = LogBusiness.Error(exc);
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, new ErrorModel(logId)));
     }
 }
Exemple #7
0
        public async Task <IActionResult> ObterPosicaoFundosInvestimentos()
        {
            var cacheEntry = _cache.GetOrCreate("PositionFICacheKey", async entry =>
            {
                entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromDays(1);
                entry.SetPriority(CacheItemPriority.High);

                var retorno = await PositionBusiness.GerarPosicaoFundos();
                return(Ok(retorno));
            });

            return(await cacheEntry);
        }
Exemple #8
0
        private static async Task <ExecuteAsyncResult> ExecuteAsync(
            string queryPath,
            object variableObject           = null,
            Action <Position> setPermission = null
            )
        {
            var variable = "{}";

            if (variableObject is string)
            {
                variable = File.ReadAllText(((string)variableObject).TrimStart('/'));
            }
            else if (variableObject != null)
            {
                variable = JsonConvert.SerializeObject(variableObject);
            }
            var query = File.ReadAllText(queryPath.TrimStart('/'));

            var User = new ClaimsPrincipal(
                new ClaimsIdentity(
                    new[] { new Claim(ClaimTypes.Name, Constant.adminName) }
                    )
                );

            var position = EmployeeBusiness.Get(Constant.adminName).Position;

            if (setPermission != null)
            {
                PositionBusiness.UpdateForHelper(setPermission, position);
            }

            var result = await Initializer.DocumentExecuter.ExecuteAsync(_ =>
            {
                _.Schema      = Initializer.Schema;
                _.Query       = query;
                _.Inputs      = JObject.Parse(variable).ToInputs();
                _.UserContext = new GraphQLUserContext {
                    User = User
                };
                _.ValidationRules = DocumentValidator.CoreRules().Concat(Initializer.ValidationRule).ToList();
            }).ConfigureAwait(false);

            return(new ExecuteAsyncResult
            {
                Result = result,
                Query = query,
                Variable = variable
            });
        }
Exemple #9
0
        public PositionQuery()
        {
            Field <NonNullGraphType <ListGraphType <NonNullGraphType <PositionType> > > >(
                _List,
                "Trả về một danh sách các chức vụ",
                resolve: _CheckPermission_List(
                    p => p.PermissionManagePosition,
                    context => PositionBusiness.Get()
                    )
                );

            Field <NonNullGraphType <PositionType> >(
                _Item,
                "Trả về thông tin một chức vụ",
                _IdArgument(),
                _CheckPermission_Object(
                    p => p.PermissionManagePosition,
                    context => PositionBusiness.Get(_GetId <int>(context))
                    )
                );
        }
Exemple #10
0
        public void Mutation_CheckOut_InvalidEmployee()
        {
            Database.WriteAsync(realm =>
            {
                realm.Add(new Employee
                {
                    Id           = "nhanvien_1",
                    Address      = "Địa chỉ",
                    IsActive     = true,
                    Birthdate    = DateTimeOffset.Now,
                    Email        = "*****@*****.**",
                    Gender       = true,
                    Name         = "Quản trị viên",
                    IdentityCard = "123456789",
                    Password     = CryptoHelper.Encrypt("12345678"),
                    PhoneNumber  = "+84 0123456789",
                    Position     = PositionBusiness.Get(1),
                    StartingDate = DateTimeOffset.Now
                });
                realm.Add(new Booking
                {
                    Id               = 22,
                    Status           = (int)Booking.StatusEnum.RequestedCheckOut,
                    EmployeeBooking  = EmployeeDataAccess.Get("admin"),
                    EmployeeCheckIn  = EmployeeDataAccess.Get("admin"),
                    EmployeeCheckOut = EmployeeDataAccess.Get("nhanvien_1"),
                    Bill             = BillDataAccess.Get(1),
                    Room             = RoomDataAccess.Get(1)
                });
            }).Wait();

            SchemaHelper.ExecuteAndExpectError(
                "Nhân viên không được phép check-out",
                @"/_GraphQL/Booking/mutation.checkOut.gql",
                new { id = 22 },
                p => p.PermissionManageRentingRoom = true
                );
        }
Exemple #11
0
        public PositionMutation()
        {
            Field <NonNullGraphType <PositionType> >(
                _Creation,
                "Tạo và trả về một chức vụ mới",
                _InputArgument <PositionCreateInput>(),
                _CheckPermission_TaskObject(
                    p => p.PermissionManagePosition,
                    context => PositionBusiness.Add(_GetInput(context))
                    )
                );

            Field <NonNullGraphType <PositionType> >(
                _Updation,
                "Cập nhật và trả về một chức vụ vừa cập nhật",
                _InputArgument <PositionUpdateInput>(),
                _CheckPermission_TaskObject(
                    p => p.PermissionManagePosition,
                    context => PositionBusiness.Update(_GetInput(context))
                    )
                );

            Field <NonNullGraphType <StringGraphType> >(
                _Deletion,
                "Xóa một chức vụ",
                _IdArgument(),
                _CheckPermission_String(
                    p => p.PermissionManagePosition,
                    context =>
            {
                PositionBusiness.Delete(_GetId <int>(context));
                return("Xóa thành công");
            }
                    )
                );

            Field <NonNullGraphType <StringGraphType> >(
                _SetIsActive,
                "Cập nhật trạng thái hoạt động của chức vụ",
                new QueryArguments(
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "id"
            },
                    new QueryArgument <NonNullGraphType <BooleanGraphType> > {
                Name = "isActive"
            }
                    ),
                _CheckPermission_String(
                    p => p.PermissionManagePosition,
                    context =>
            {
                var id       = context.GetArgument <int>("id");
                var isActive = context.GetArgument <bool>("isActive");
                PositionBusiness.SetIsActive(id, isActive);
                return("Cập nhật trạng thái thành công");
            }
                    )
                );

            Field <NonNullGraphType <StringGraphType> >(
                "SetIsActivePositionAndMoveEmployee",
                "Vô hiệu hóa chức vụ và chuyển nhân viên sang chức vụ mới",
                new QueryArguments(
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "id"
            },
                    new QueryArgument <NonNullGraphType <IdGraphType> > {
                Name = "newId"
            },
                    new QueryArgument <NonNullGraphType <BooleanGraphType> > {
                Name = "isActive"
            }
                    ),
                _CheckPermission_String(
                    p => p.PermissionManagePosition,
                    context =>
            {
                var id       = context.GetArgument <int>("id");
                var newId    = context.GetArgument <int>("newId");
                var isActive = context.GetArgument <bool>("isActive");
                PositionBusiness.SetIsActiveAndMoveEmployee(id, newId, isActive);
                return("Cập nhật trạng thái và chuyển nhân viên thành công");
            }
                    )
                );
        }