Beispiel #1
0
        public IActionResult GetServiceInfo(string userId, string serviceTypeName)
        {
            var response = new ApiResponseModel();

            var userOffice = _userOfficeRepository.GetSingle(x => x.UserId.Equals(userId));

            if (userOffice == null)
            {
                return(NotFound(response));
            }

            if (string.IsNullOrEmpty(serviceTypeName))
            {
                var services = _userOfficeManager.GetUserServices(userOffice);

                var mapped = new List <ServiceInfoResponseModel>();
                foreach (var s in services)
                {
                    mapped.Add(_mapper.Map <ServiceInfoResponseModel>(s));
                }
                response.Data.Add(nameof(services), mapped);

                return(Ok(response));
            }

            var service = _userOfficeManager.GetUserService(userOffice, serviceTypeName);

            response.Data.Add(nameof(service), _mapper.Map <ServiceInfoResponseModel>(service));

            return(Ok(response));
        }
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;

            var userOffice = _userOfficeRepository.GetSingle(x => x.UserId.Equals(userId)) ?? _userOfficeRepository.Create(new UserOffice {
                UserId = userId
            });

            _userOfficeManager.AddServiceToUserOffice(userOffice, _appSettings.Value.ServiceTypeNames.PBXType);
            _userOfficeManager.AddServiceToUserOffice(userOffice, _appSettings.Value.ServiceTypeNames.CloudStorageType);

            base.OnActionExecuting(context);
        }
        public OfficeController(
            IUserServcieRepository userServcieRepository,
            IHttpContextAccessor httpContextAccessor,
            IUserOfficeRepository userOfficeRepository,
            IUserOfficeManager userOfficeManager,
            IMapper mapper,
            IUserServiceDataRepository userServiceDataRepository)
        {
            _userServcieRepository = userServcieRepository;
            _httpContextAccessor   = httpContextAccessor;
            _userOfficeRepository  = userOfficeRepository;
            _userOfficeManager     = userOfficeManager;
            _mapper = mapper;
            _userServiceDataRepository = userServiceDataRepository;

            _currentUserId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;

            UserOffice = _userOfficeRepository.GetSingle(x => x.UserId.Equals(_currentUserId));
        }