Esempio n. 1
0
        /// <summary>
        /// Get all <see cref="MessageEntity">messages</see> for the provided conversation.
        /// </summary>
        public virtual IServiceResponseWithResultData <IEnumerable <MessageEntity> > GetMessages(IServiceRequestWithData <Guid, ConversationParameters> serviceRequest)
        {
            AuthenticationTokenHelper.SetAuthenticationToken(serviceRequest.AuthenticationToken);
            CorrelationIdHelper.SetCorrelationId(serviceRequest.CorrelationId);

            Guid conversationRsn = serviceRequest.Data.ConversationRsn;

            // Define Query
            ICollectionResultQuery <MessageQueryStrategy, MessageEntity> query = QueryFactory.CreateNewCollectionResultQuery <MessageQueryStrategy, MessageEntity>();

            query.QueryStrategy.WithConversationRsn(conversationRsn);
            query.QueryStrategy.OrderByDatePosted();

            // Retrieve Data
            query = MessageRepository.Retrieve(query);
            IEnumerable <MessageEntity> queryResults = query.Result.ToList();

            var responseData = new ServiceResponseWithResultData <IEnumerable <MessageEntity> >
            {
                State      = ServiceResponseStateType.Succeeded,
                ResultData = queryResults
            };

            // Complete the response
            ServiceResponseWithResultData <IEnumerable <MessageEntity> > response = CompleteResponse(responseData);

            if (!queryResults.Any())
            {
                response.State = ServiceResponseStateType.EntityNotFound;
            }

            return(response);
        }
Esempio n. 2
0
        /// <summary>
        /// Get all <see cref="ConversationSummaryEntity">conversations</see>.
        /// </summary>
        public virtual IServiceResponseWithResultData <IEnumerable <ConversationSummaryEntity> > Get(IServiceRequest <Guid> serviceRequest)
        {
            AuthenticationTokenHelper.SetAuthenticationToken(serviceRequest.AuthenticationToken);
            CorrelationIdHelper.SetCorrelationId(serviceRequest.CorrelationId);

            // Define Query
            ICollectionResultQuery <ConversationSummaryQueryStrategy, ConversationSummaryEntity> query = QueryFactory.CreateNewCollectionResultQuery <ConversationSummaryQueryStrategy, ConversationSummaryEntity>();

            query.QueryStrategy.WithNoDeletedConversations();

            // Retrieve Data
            query = ConversationSummaryRepository.Retrieve(query);
            IEnumerable <ConversationSummaryEntity> queryResults = query.Result;

            var responseData = new ServiceResponseWithResultData <IEnumerable <ConversationSummaryEntity> >
            {
                State      = ServiceResponseStateType.Succeeded,
                ResultData = queryResults
            };

            // Complete the response
            ServiceResponseWithResultData <IEnumerable <ConversationSummaryEntity> > response = CompleteResponse(responseData);

            return(response);
        }
Esempio n. 3
0
        public virtual HttpResponseMessage <ServiceResponseWithResultData <IEnumerable <MessageEntity> > > GetMessages(Guid conversationRsn)
        {
            // Define Query
            ICollectionResultQuery <MessageQueryStrategy, MessageEntity> query = QueryFactory.CreateNewCollectionResultQuery <MessageQueryStrategy, MessageEntity>();

            query.QueryStrategy.WithConversationRsn(conversationRsn);
            query.QueryStrategy.OrderByDatePosted();

            // Retrieve Data
            query = MessageRepository.Retrieve(query);
            IEnumerable <MessageEntity> queryResults = query.Result.ToList();

            var responseData = new ServiceResponseWithResultData <IEnumerable <MessageEntity> >
            {
                State      = ServiceResponseStateType.Succeeded,
                ResultData = queryResults
            };

            // Complete the response
            HttpResponseMessage <ServiceResponseWithResultData <IEnumerable <MessageEntity> > > response = CompleteResponseWithData(responseData);

            if (!queryResults.Any())
            {
                response.StatusCode = HttpStatusCode.NotFound;
            }

            return(response);
        }
Esempio n. 4
0
        partial void OnGetAll(IServiceRequestWithData <Cqrs.Authentication.ISingleSignOnToken, UserServiceGetAllParameters> serviceRequest, ref IServiceResponseWithResultData <IEnumerable <Entities.UserEntity> > results)
        {
            // Define Query
            ICollectionResultQuery <UserQueryStrategy, Entities.UserEntity> query = QueryFactory.CreateNewCollectionResultQuery <UserQueryStrategy, Entities.UserEntity>();

            // Retrieve Data, but remember if no items exist, the value is null
            query = UserRepository.Retrieve(query);
            IEnumerable <Entities.UserEntity> inventoryItems = query.Result;

            results = new ServiceResponseWithResultData <IEnumerable <Entities.UserEntity> >(inventoryItems);
        }
Esempio n. 5
0
        partial void OnGetByRsn(IServiceRequestWithData <Cqrs.Authentication.ISingleSignOnToken, UserServiceGetByRsnParameters> serviceRequest, ref IServiceResponseWithResultData <Entities.UserEntity> results)
        {
            // Define Query
            ISingleResultQuery <UserQueryStrategy, Entities.UserEntity> query = QueryFactory.CreateNewSingleResultQuery <UserQueryStrategy, Entities.UserEntity>();

            query.QueryStrategy.WithRsn(serviceRequest.Data.rsn);

            // Retrieve Data, but remember if no items exist, the value is null
            query = UserRepository.Retrieve(query);
            Entities.UserEntity user = query.Result;

            results = new ServiceResponseWithResultData <Entities.UserEntity>(user);
        }
Esempio n. 6
0
        partial void OnGetByRsn(IServiceRequestWithData <ISingleSignOnToken, InventoryItemServiceGetByRsnParameters> serviceRequest, ref IServiceResponseWithResultData <InventoryItemEntity> results)
        {
            // Define Query
            ISingleResultQuery <InventoryItemQueryStrategy, InventoryItemEntity> query = QueryFactory.CreateNewSingleResultQuery <InventoryItemQueryStrategy, InventoryItemEntity>();

            query.QueryStrategy.WithRsn(serviceRequest.Data.rsn);

            // Retrieve Data, but remember if no items exist, the value is null
            query = InventoryItemRepository.Retrieve(query);
            InventoryItemEntity inventoryItem = query.Result;

            results = new ServiceResponseWithResultData <InventoryItemEntity>(inventoryItem);
        }
Esempio n. 7
0
        partial void OnGetAllOrders(IServiceRequestWithData <Cqrs.Authentication.ISingleSignOnToken, OrderServiceGetAllOrdersParameters> serviceRequest, ref IServiceResponseWithResultData <IEnumerable <OrderEntity> > results)
        {
            // Define Query
            ICollectionResultQuery <OrderQueryStrategy, OrderEntity> query = QueryFactory.CreateNewCollectionResultQuery <OrderQueryStrategy, OrderEntity>();

            // Retrieve Data
            query = OrderRepository.Retrieve(query);
            IEnumerable <OrderEntity> orders = query.Result;

            results = new ServiceResponseWithResultData <IEnumerable <OrderEntity> >
            {
                State      = ServiceResponseStateType.Succeeded,
                ResultData = orders
            };
        }
        public HttpResponseMessage <ServiceResponseWithResultData <Guid?> > Login(UserLogin userLogin)
        {
            if (userLogin == null || string.IsNullOrEmpty(userLogin.EmailAddress) || string.IsNullOrEmpty(userLogin.Password))
            {
                return(CompleteResponseWithData(new ServiceResponseWithResultData <Guid?> {
                    State = ServiceResponseStateType.FailedValidation
                }));
            }
            // Define Query
            ISingleResultQuery <CredentialQueryStrategy, CredentialEntity> query = QueryFactory.CreateNewSingleResultQuery <CredentialQueryStrategy, CredentialEntity>();

            string hash = AuthenticationHashHelper.GenerateCredentialHash(userLogin.EmailAddress, userLogin.Password);

            query.QueryStrategy.WithHash(hash);

            // Retrieve Data
            query = CredentialRepository.Retrieve(query, false);
            CredentialEntity queryResults = query.Result;

            var responseData = new ServiceResponseWithResultData <Guid?>
            {
                State      = queryResults == null ? ServiceResponseStateType.FailedAuthentication : ServiceResponseStateType.Succeeded,
                ResultData = queryResults == null ? (Guid?)null : queryResults.UserRsn
            };

            // Complete the response
            HttpResponseMessage <ServiceResponseWithResultData <Guid?> > response = CompleteResponseWithData(responseData);

            // If authentication has succeeded then return now.
            if (responseData.State != ServiceResponseStateType.Succeeded || responseData.ResultData == null)
            {
                return(response);
            }

            // Copy encrypted auth token to X-Token for SignalR
            string authenticationTokenName = DependencyResolver.Current.Resolve <IConfigurationManager>().GetSetting("Cqrs.Web.AuthenticationTokenName") ?? "X-Token";
            var    cookie = new CookieHeaderValue(authenticationTokenName, responseData.ResultData.Value.ToString("N"))
            {
                Expires = DateTimeOffset.Now.AddDays(1),
            };

            response.Headers.AddCookies(new[] { cookie });

            return(response);
        }
Esempio n. 9
0
        public virtual HttpResponseMessage <ServiceResponseWithResultData <IEnumerable <ConversationSummaryEntity> > > Get()
        {
            // Define Query
            ICollectionResultQuery <ConversationSummaryQueryStrategy, ConversationSummaryEntity> query = QueryFactory.CreateNewCollectionResultQuery <ConversationSummaryQueryStrategy, ConversationSummaryEntity>();

            query.QueryStrategy.WithNoDeletedConversations();

            // Retrieve Data
            query = ConversationSummaryRepository.Retrieve(query);
            IEnumerable <ConversationSummaryEntity> queryResults = query.Result;

            var responseData = new ServiceResponseWithResultData <IEnumerable <ConversationSummaryEntity> >
            {
                State      = ServiceResponseStateType.Succeeded,
                ResultData = queryResults
            };

            // Complete the response
            HttpResponseMessage <ServiceResponseWithResultData <IEnumerable <ConversationSummaryEntity> > > response = CompleteResponseWithData(responseData);

            return(response);
        }
Esempio n. 10
0
        /// <summary>
        /// Validate the provided <paramref name="serviceRequest">credentials</paramref> are valid.
        /// </summary>
        /// <param name="serviceRequest">The user credentials to validate.</param>
        /// <returns>The users identifier.</returns>
        public virtual IServiceResponseWithResultData <Guid?> Login(IServiceRequestWithData <Guid, LoginParameters> serviceRequest)
        {
            AuthenticationTokenHelper.SetAuthenticationToken(serviceRequest.AuthenticationToken);
            CorrelationIdHelper.SetCorrelationId(serviceRequest.CorrelationId);

            var userLogin = serviceRequest.Data;

            if (userLogin == null || string.IsNullOrEmpty(userLogin.EmailAddress) || string.IsNullOrEmpty(userLogin.Password))
            {
                return(CompleteResponse(new ServiceResponseWithResultData <Guid?> {
                    State = ServiceResponseStateType.FailedValidation
                }));
            }

            // Define Query
            ISingleResultQuery <CredentialQueryStrategy, CredentialEntity> query = QueryFactory.CreateNewSingleResultQuery <CredentialQueryStrategy, CredentialEntity>();

            string hash = AuthenticationHashHelper.GenerateCredentialHash(userLogin.EmailAddress, userLogin.Password);

            query.QueryStrategy.WithHash(hash);

            // Retrieve Data
            query = CredentialRepository.Retrieve(query, false);
            CredentialEntity queryResults = query.Result;

            var responseData = new ServiceResponseWithResultData <Guid?>
            {
                State      = queryResults == null ? ServiceResponseStateType.FailedAuthentication : ServiceResponseStateType.Succeeded,
                ResultData = queryResults == null ? (Guid?)null : queryResults.UserRsn
            };

            // Complete the response
            ServiceResponseWithResultData <Guid?> response = CompleteResponse(responseData);

            return(response);
        }