コード例 #1
0
ファイル: LibraryController.cs プロジェクト: inshapardaz/api
        public async Task <IActionResult> CreateLibrary([FromBody] LibraryView library, CancellationToken token)
        {
            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(ModelState));
            }

            var request = new AddLibraryRequest(library.Map());
            await _commandProcessor.SendAsync(request, cancellationToken : token);

            var renderResult = _libraryRenderer.Render(request.Result);

            return(new CreatedResult(renderResult.Links.Self(), renderResult));
        }
コード例 #2
0
        public override Task <AddLibraryResponse> AddLibrary(AddLibraryRequest request, ServerCallContext context)
        {
            var library = new LibraryDTO()
            {
                Id   = Guid.Parse(request.Id),
                Name = request.Name
            };

            _libraryService.AddLibrary(library);

            var response = new AddLibraryResponse();

            return(Task.FromResult(response));
        }
コード例 #3
0
        public void AddLibrary(AddLibraryRequest request)
        {
            try
            {
                _loginQuery.IsAuthenticated(request.Ticket);
                _sessionGenerator.ProlongSession(request.Ticket);

                _commands.AddLibrary(request);
            }
            catch (SecurityException e)
            {
                throw new FaultException <SecurityException>(e);
            }
            catch (Exception e)
            {
                throw new FaultException(e.Message);
            }
        }
コード例 #4
0
        public async Task AddLibraryAsync(LibraryAddModel library)
        {
            var channel = new Channel(channelTarget, ChannelCredentials.Insecure);

            try
            {
                var client  = new LibraryGrpcService.LibraryGrpcServiceClient(channel);
                var request = new AddLibraryRequest()
                {
                    Id   = library.Id.ToString(),
                    Name = library.Name
                };

                var response = await client.AddLibraryAsync(request);

                return;
            }
            finally
            {
                await channel.ShutdownAsync();
            }
        }
コード例 #5
0
        public void AddLibrary(AddLibraryRequest request)
        {
            var userId = _loginQueryDao.GetUser(request.Ticket).Id;

            using (var session = NHibernateHelper.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    var entity = new Libraries
                    {
                        UserId         = userId,
                        AdditionalInfo = request.AdditionalInfo,
                        Address        = request.Address,
                        Name           = request.Name,
                        OpeningHours   = request.OpeningHours
                    };

                    session.Save(entity);
                    transaction.Commit();
                }
            }
        }