示例#1
0
        public async Task <IActionResult> Delete([FromBody] BuildingUserDto buildingUserDto)
        {
            //Get header token
            if (Request.Headers.TryGetValue("Authorization", out StringValues headerValues))
            {
                var token = _customEncoder.DecodeBearerAuth(headerValues.First());
                if (token != null)
                {
                    var user = await _userService.GetUserAsyncByToken(token);

                    if (user != null)
                    {
                        //Verify if the token exist and is not expire
                        if ((await _authenticationService.CheckIfTokenIsValidAsync(token) && user.IsAdmin == 1) || await _authenticationService.CheckIfTokenIsValidAsync(token, user.UserId))
                        {
                            var isDeleted = await _buildingService.DeleteBuildingUserAsync(buildingUserDto);

                            if (isDeleted == false)
                            {
                                return(StatusCode(404, "Unable to delete building user."));
                            }
                            return(StatusCode(204, "Building User has been deleted."));
                        }
                        return(StatusCode(401, "Invalid token."));
                    }
                    return(StatusCode(403, "Invalid user."));
                }
                return(StatusCode(401, "Invalid authorization."));
            }
            return(StatusCode(401, "Invalid authorization."));
        }
示例#2
0
        public async Task <object> RemoveBuildingUser(BuildingUserDto buildingUserDto)
        {
            var item = await _buildingUserRepository.FindAll().FirstOrDefaultAsync(x => x.UserID == buildingUserDto.UserID && x.BuildingID == buildingUserDto.BuildingID);

            if (item != null)
            {
                _buildingUserRepository.Remove(item);
                try
                {
                    await _buildingUserRepository.SaveAll();

                    return(new
                    {
                        status = true,
                        message = "Delete Successfully!"
                    });
                }
                catch (Exception)
                {
                    return(new
                    {
                        status = false,
                        message = "Failed on delete!"
                    });
                }
            }
            else
            {
                return(new
                {
                    status = false,
                    message = ""
                });
            }
        }
示例#3
0
        public async Task <object> MappingUserWithBuilding(BuildingUserDto buildingUserDto)
        {
            var item = await _buildingUserRepository.FindAll().FirstOrDefaultAsync(x => x.UserID == buildingUserDto.UserID && x.BuildingID == buildingUserDto.BuildingID);

            if (item == null)
            {
                _buildingUserRepository.Add(new BuildingUser
                {
                    UserID     = buildingUserDto.UserID,
                    BuildingID = buildingUserDto.BuildingID
                });
                try
                {
                    await _buildingUserRepository.SaveAll();

                    return(new
                    {
                        status = true,
                        message = "Mapping Successfully!"
                    });
                }
                catch (Exception)
                {
                    return(new
                    {
                        status = false,
                        message = "Failed on save!"
                    });
                }
            }
            else
            {
                return(new
                {
                    status = false,
                    message = "The User belonged with other building!"
                });
            }
        }
示例#4
0
 public Task <bool> Add(BuildingUserDto model)
 {
     throw new NotImplementedException();
 }
示例#5
0
        /// <summary>
        /// Deletes the building user async.
        /// </summary>
        /// <returns>The building user async.</returns>
        /// <param name="buildingUserDto">Building user dto.</param>
        public async Task <bool> DeleteBuildingUserAsync(BuildingUserDto buildingUserDto)
        {
            var isSuccess = await _dal.DeleteBuildingUserAsync(buildingUserDto);

            return(isSuccess);
        }
示例#6
0
        /// <summary>
        /// Posts the building user async.
        /// </summary>
        /// <returns>The building user async.</returns>
        /// <param name="buildingUserDto">Building user dto.</param>
        public async Task <BuildingUserApiDto> PostBuildingUserAsync(BuildingUserDto buildingUserDto)
        {
            var buildingUser = await _dal.PostBuildingUserAsync(buildingUserDto);

            return(buildingUser);
        }
        public async Task <IActionResult> RemoveBuildingUser([FromBody] BuildingUserDto buildingUserDto)
        {
            var result = await _buildingUserService.RemoveBuildingUser(buildingUserDto);

            return(Ok(result));
        }
        public async Task <IActionResult> MappingUserWithBuilding([FromBody] BuildingUserDto buildingUserDto)
        {
            var result = await _buildingUserService.MappingUserWithBuilding(buildingUserDto);

            return(Ok(result));
        }