Пример #1
0
        public DatosAdminBeneficiarioQueryResult Retrieve(DatosAdminBeneficiarioQuery query)
        {
            var queryResult = new DatosAdminBeneficiarioQueryResult();

            //Traigo los datos de la sala cuna
            QueryDispatcher   _queryDispatcher = ServiceLocator.Current.GetInstance <QueryDispatcher>();
            SalaCunaByIdQuery querySala        = new SalaCunaByIdQuery()
            {
                IdSalaCuna = query.SalaCunaId
            };
            SalaCunaByIdQueryResult resultadoSala = _queryDispatcher.Dispatch <SalaCunaByIdQuery, SalaCunaByIdQueryResult>(querySala);

            queryResult.SalaCuna = resultadoSala.SalaCuna;


            //Traigo las salitas de una sala
            _queryDispatcher = ServiceLocator.Current.GetInstance <QueryDispatcher>();
            SalitaCunaAdminBenQuery querySalitas = new SalitaCunaAdminBenQuery()
            {
                SalaCunaId    = query.SalaCunaId,
                SeleccionBaja = query.SeleccionBaja
            };
            SalitaCunaAdminBenQueryResult resultadoSalitas = _queryDispatcher.Dispatch <SalitaCunaAdminBenQuery, SalitaCunaAdminBenQueryResult>(querySalitas);

            queryResult.SalitasCuna = resultadoSalitas.SalitasCunaDto;

            return(queryResult);
        }
        public virtual IActionResult Find([FromQuery] FilterQuery filterQuery)
        {
            var query  = new FindQuery <TModel>(filterQuery);
            var result = QueryDispatcher.Dispatch(query);

            return(Ok(result));
        }
Пример #3
0
        public QueryResult ExecuteQuery(QueryParameter parameter)
        {
            var commandDispatcher = new QueryDispatcher();
            var parametro         = commandDispatcher.Dispatch(parameter);

            return(parametro);
        }
Пример #4
0
        public ActionResult <ApplicationPoolEditablePropertiesDto> Edit(string name)
        {
            var applicationPoolDto =
                QueryDispatcher.Dispatch(new GetEditableApplicationPoolProperties(name));

            return(Ok(applicationPoolDto));
        }
        public virtual IActionResult Count([FromQuery] SearchFilter searchFilter)
        {
            var query  = new CountQuery <TModel>(searchFilter);
            var result = QueryDispatcher.Dispatch(query);

            return(Ok(result));
        }
        public virtual IActionResult GetById([FromRoute] TIdentifier id)
        {
            var query  = new GetQuery <TModel>(id);
            var result = QueryDispatcher.Dispatch(query);

            return(OkOrNotFound(result));
        }
Пример #7
0
        public async Task <IViewComponentResult> InvokeAsync
        (
            int numberOfProducts,
            string Title,
            EnumDisplayModeProducts displayModeProducts = EnumDisplayModeProducts.Card,
            string TextSeach           = "",
            long MasterId              = -1,
            long CategoryId            = -1,
            EnumOrderByProduct OrderBy = EnumOrderByProduct.NewestToOldest,
            bool EnabledPaging         = false,
            bool EnabledSorting        = false,
            int pageNumber             = 1
        )
        {
            var newProducts = await Task.Run(() => _queryDispatcher.Dispatch <DtoProductsAdvanacedQuery>(new ProductsAdvanacedQuery
            {
                number         = numberOfProducts,
                TextSeach      = TextSeach,
                MasterId       = MasterId,
                CategoryId     = CategoryId,
                OrderBy        = OrderBy,
                EnabledPaging  = EnabledPaging,
                EnabledSorting = EnabledSorting,
                PageNumber     = pageNumber
            }));

            newProducts.Title = Title;
            newProducts.DisplayModeProducts = displayModeProducts;
            return(View(newProducts.DisplayModeProducts.ToString(), newProducts));
        }
        public ActionResult Get(string siteName, [FromQuery] string subString)
        {
            var query           = new GetApplicationsContainedSubstring(siteName, subString);
            var applicationsDto = QueryDispatcher.Dispatch(query);

            return(Ok(applicationsDto));
        }
Пример #9
0
        private void EnviarMail(String cuil, Boolean archivoGeneradoConExito, String nombreArchivo, String queryParams, String reportTitle)
        {
            EnviarMailQuery _enviarMailQuery = new EnviarMailQuery();

            _enviarMailQuery.Cuil = cuil;
            StringBuilder _mensaje = new StringBuilder();

            if (archivoGeneradoConExito)
            {
                _enviarMailQuery.Link = FileUtil.GenerarLinkDeDescarga(nombreArchivo);
                _mensaje.Append(GlobalVars.EmailMensaje);
            }
            else
            {
                _mensaje.Append("Se produjo un error inesperado al generar el reporte '")
                .Append(nombreArchivo)
                .Append("'. Por favor pongase en contacto con un administrador del sistema.")
                .Append("\n")
                .Append("Parámetros enviados: ")
                .Append(queryParams);
            }
            _enviarMailQuery.Mensaje     = _mensaje.ToString();
            _enviarMailQuery.ReportTitle = reportTitle;
            var _enviarMailQueryResult = QueryDispatcher.Dispatch <EnviarMailQuery, EnviarMailQueryResult>(_enviarMailQuery);
        }
Пример #10
0
        public virtual IActionResult Find(FindCriteria findCriteria)
        {
            var query  = new FindQuery <TModel>(findCriteria);
            var result = QueryDispatcher.Dispatch(query);

            return(Ok(result));
        }
Пример #11
0
        public ActionResult GetApplicationEditableProperties(string siteName, string applicationName)
        {
            var applicationDto =
                QueryDispatcher.Dispatch(new GetEditableApplicationProperties(siteName, applicationName));

            return(Ok(applicationDto));
        }
Пример #12
0
        public ActionResult <IEnumerable <ApplicationGetDto> > GetApplicationBySubstringFilteredBySiteName(string siteName,
                                                                                                           [FromQuery][Required] string subString)
        {
            var applicationsDto = QueryDispatcher
                                  .Dispatch(new GetApplicationsContainedSubstring(siteName, subString));

            return(Ok(applicationsDto));
        }
Пример #13
0
        public IActionResult List(int pageNumber = 1, int pageSize = 10,
                                  string orderBy = "name_Asc", List <string> errors = null)
        {
            AddErrosToModelState(errors);
            var allFiles = _queryDispatcher.Dispatch <List <FileManagement> >(new GetFilesQuery());

            allFiles = OrderedFiles(orderBy, allFiles);


            var files = PaginationFiles(ref pageNumber, ref pageSize, allFiles);

            if (!files.Any())
            {
                ModelState.AddModelError("", "فایلی یافت نشد!");
            }
            return(View(files));
        }
Пример #14
0
        public IActionResult List(int pageNumber = 1, int pageSize = 10, string orderBy = "show_Desc")
        {
            var allComments = _queryDispatcher.Dispatch <List <Comment> >(new GetCommentsQuery());

            allComments = orderedComments(orderBy, allComments);
            var comments = PaginationComments(ref pageNumber, ref pageSize, allComments);

            return(View(comments));
        }
Пример #15
0
 public async Task <IHttpActionResult> GetPlayersTask(ILoggedInPerson loggedInPerson, int playerId, string playerName)
 {
     return(await TryAsync(async() =>
     {
         var baseByIdQuery = new BaseByIdQuery();
         var result = await QueryDispatcher.Dispatch <BaseByIdQuery, StateQueryResult>(baseByIdQuery);
         return Ok(result.States);
     }, memberParameters : new object[] { loggedInPerson }));
 }
Пример #16
0
        public async Task <object> Register([FromBody] LoginViewModel model)
        {
            await CommandDispatcher.Dispatch(new RegisterUserCommand(model.Email, model.Password, model.Email));

            var user = await QueryDispatcher.Dispatch <GetUserByEmailQuery, ApplicationUser>(new GetUserByEmailQuery(model.Email));

            var newToken = AuthService.GetTokenForUser(user);

            return(newToken);
        }
Пример #17
0
        public void QueryDispatcher_TypeError__Test()
        {
            #region preparation
            ApplicationContext _Context         = new ApplicationContext();
            QueryDispatcher    _QueryDispatcher = new QueryDispatcher();

            GetBooksQuery query = new GetBooksQuery(true);   // init query
            #endregion

            #region test error
            Assert.ThrowsException <InvalidOperationException>(
                () => _QueryDispatcher.Dispatch <GetBooksQueryResult, WrongClass>(_Context, query)
                );  // call the dispatcher with the wrong class
            #endregion

            #region test success
            _QueryDispatcher.Dispatch <GetBooksQueryResult, GetBooksQueryError>(_Context, query);  // call the dispatcher with the right class
            #endregion
        }
Пример #18
0
 public async Task <IHttpActionResult> GetContestByIdTask(ILoggedInPerson loggedInPerson, int id)
 {
     return(await TryAsync(async() =>
     {
         var baseByIdQuery = new BaseByIdQuery {
             Id = id
         };
         var result = await QueryDispatcher.Dispatch <BaseByIdQuery, ContestByIdQueryResult>(baseByIdQuery);
         return Ok(result.Contest);
     }, memberParameters : new object[] { loggedInPerson }));
 }
            public void ShouldInvokeRegisteredAttributeQueryHandlerWhenDispatchedMultipleTimes()
            {
                var queryHandler = new TestAttributedQueryHandler(_outputHelper);
                var registration = new QueryHandlerAttributeRegistration();

                registration.Register(() => queryHandler);

                const string data1 = "Test message 1.";
                const string data2 = "Test message 2.";
                const int    data3 = 1;

                var dispatcher = new QueryDispatcher(registration);
                var result1    = dispatcher.Dispatch <QuerySomething, string>(new QuerySomething(data1));
                var result2    = dispatcher.Dispatch <QuerySomething, string>(new QuerySomething(data2));
                var result3    = dispatcher.Dispatch <QuerySomethingWithNonReferenceTypeResult, int>(new QuerySomethingWithNonReferenceTypeResult(data3));

                result1.Should().Be(data1);
                result2.Should().Be(data2);
                result3.Should().Be(data3);
            }
Пример #20
0
            public void Should_Invoke_Registered_Attribute_Query_Handler_When_Dispatched_Multiple_Times()
            {
                var queryHandler = new TestAttributedQueryHandler(_testOutputHelper);
                var registration = new QueryHandlerAttributeRegistration();

                registration.Register(() => queryHandler);

                const string data1 = "Test message 1.";
                const string data2 = "Test message 2.";
                const int    data3 = 1;

                var dispatcher = new QueryDispatcher(registration);
                var result1    = dispatcher.Dispatch <QuerySomething, string>(new QuerySomething(data1));
                var result2    = dispatcher.Dispatch <QuerySomething, string>(new QuerySomething(data2));
                var result3    = dispatcher.Dispatch <QuerySomethingWithNonReferenceTypeResult, int>(new QuerySomethingWithNonReferenceTypeResult(data3));

                Assert.Equal(data1, result1);
                Assert.Equal(data2, result2);
                Assert.Equal(data3, result3);
            }
Пример #21
0
            public void Should_Allow_Attribute_Query_Handlers_With_Non_Reference_Type_Query_Results()
            {
                var queryHandler = new TestAttributedQueryHandler(_testOutputHelper);
                var registration = new QueryHandlerAttributeRegistration();

                registration.Register(() => queryHandler);

                var dispatcher = new QueryDispatcher(registration);
                var result     = dispatcher.Dispatch <QuerySomethingWithNonReferenceTypeResult, int>(new QuerySomethingWithNonReferenceTypeResult(1973));

                Assert.Equal(1973, result);
            }
Пример #22
0
 public async Task <IHttpActionResult> GetAllContestsTask(ILoggedInPerson loggedInPerson)
 {
     return(await TryAsync(async() =>
     {
         var baseByIdQuery = new BaseByIdQuery();
         var result = await QueryDispatcher.Dispatch <BaseByIdQuery, ContestQueryResult>(baseByIdQuery);
         return new CustomOkResult <IEnumerable <Contests> >(result.Contests, this)
         {
             XInlineCount = result.TotalRecords.ToString()
         };
     }, memberParameters : new object[] { loggedInPerson }));
 }
        public virtual ActionResult <TModel> GetById([FromRoute] TIdentifier id)
        {
            if (id == null)
            {
                return(BadRequest());
            }

            var query  = new GetQuery <TModel>(id);
            var result = QueryDispatcher.Dispatch(query);

            return(OkOrNotFound(result));
        }
 public TResult Dispatch <TQuery, TResult>(TQuery query) where TQuery : class, IQuery <TResult>
 {
     try
     {
         return(_queryDispatcher.Dispatch <TQuery, TResult>(query));
     }
     catch (Exception ex)
     {
         _outputHelper.WriteLine(ex.ToString());
         throw;
     }
 }
            public void ShouldAllowAttributeQueryHandlersWithNonReferenceTypeQueryResults()
            {
                var queryHandler = new TestAttributedQueryHandler(_outputHelper);
                var registration = new QueryHandlerAttributeRegistration();

                registration.Register(() => queryHandler);

                var dispatcher = new QueryDispatcher(registration);
                var result     = dispatcher.Dispatch <QuerySomethingWithNonReferenceTypeResult, int>(new QuerySomethingWithNonReferenceTypeResult(1973));

                result.Should().Be(1973);
            }
        public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
        {
            /*
             * Child action request, so the context is already set
             */
            if (!string.IsNullOrWhiteSpace(DocumentContext.DocumentClassName))
            {
                return(true);
            }

            if (!values.TryGetValue(parameterName, out object requestPathObj))
            {
                return(false);
            }

            string requestPath = requestPathObj is null || Equals(requestPathObj, "/")
                ? $"/Home"
                : $"/{requestPathObj}";

            var result = QueryDispatcher.Dispatch(new DocumentByNodeAliasPathQuery(requestPath));

            if (result.IsFailure)
            {
                return(false);
            }

            var response = result.Value;

            if (!ControllerActionMatchProvider.TryFindMatch(response.DocumentClassName, out var match))
            {
                return(false);
            }

            DocumentContext.SetContext(
                response.NodeGuid,
                response.NodeId,
                response.NodeAliasPath,
                response.DocumentId,
                response.DocumentName,
                response.DocumentClassName,
                response.DocumentPageTitle,
                response.DocumentPageDescription);

            values["action"]                  = match.ActionName;
            values["controller"]              = match.ControllerName;
            values[parameterName]             = requestPath;
            values[NODE_CLASS_NAME_VALUE_KEY] = result.Value;

            return(true);
        }
            public void ShouldInvokeRegisteredAttributeQueryHandler()
            {
                var queryHandler = new TestAttributedQueryHandler(_outputHelper);
                var registration = new QueryHandlerAttributeRegistration();

                registration.Register(() => queryHandler);

                const string data = nameof(ShouldInvokeRegisteredAttributeQueryHandler);

                var dispatcher = new QueryDispatcher(registration);
                var result     = dispatcher.Dispatch <QuerySomething, string>(new QuerySomething(data));

                result.Should().Be(data);
            }
Пример #28
0
            public void Should_Invoke_Registered_Attribute_Query_Handler()
            {
                var queryHandler = new TestAttributedQueryHandler(_testOutputHelper);
                var registration = new QueryHandlerAttributeRegistration();

                registration.Register(() => queryHandler);

                const string data = nameof(Should_Invoke_Registered_Attribute_Query_Handler);

                var dispatcher = new QueryDispatcher(registration);
                var result     = dispatcher.Dispatch <QuerySomething, string>(new QuerySomething(data));

                Assert.Equal(result, data);
            }
            public void ShouldAllowRegisteredQueryHandlersInContainerWithNonReferenceTypeQueryResults()
            {
                var queryHandler = new TestQueryHandler(_outputHelper);
                var container    = new Container();

                container.Register <IQueryAsyncHandler <QuerySomethingWithNonReferenceTypeResult, int> >(() => queryHandler, Lifestyle.Singleton);

                var containerAdapter = new SimpleInjectorContainerAdapter(container);
                var resolver         = new ContainerQueryAsyncHandlerResolver(containerAdapter); // Async handler resolver
                var dispatcher       = new QueryDispatcher(resolver);

                var result = dispatcher.Dispatch <QuerySomethingWithNonReferenceTypeResult, int>(new QuerySomethingWithNonReferenceTypeResult(1973));

                result.Should().Be(1973);
            }
            public void ShouldInvokeRegisteredQueryHandlerInContainerWhenDispatchedMultipleTimes()
            {
                var queryHandler = new TestQueryHandler(_outputHelper);
                var container    = new Container();

                container.Register <IQueryAsyncHandler <QuerySomething, string> >(() => queryHandler, Lifestyle.Singleton);
                container.Register <IQueryAsyncHandler <QuerySomethingWithNonReferenceTypeResult, int> >(() => queryHandler, Lifestyle.Singleton);

                var containerAdapter = new SimpleInjectorContainerAdapter(container);
                var resolver         = new ContainerQueryAsyncHandlerResolver(containerAdapter); // Async handler resolver

                const string data1 = "Test message 1.";
                const string data2 = "Test message 2.";
                const int    data3 = 1;

                var dispatcher = new QueryDispatcher(resolver);
                var result1    = dispatcher.Dispatch <QuerySomething, string>(new QuerySomething(data1));
                var result2    = dispatcher.Dispatch <QuerySomething, string>(new QuerySomething(data2));
                var result3    = dispatcher.Dispatch <QuerySomethingWithNonReferenceTypeResult, int>(new QuerySomethingWithNonReferenceTypeResult(data3));

                result1.Should().Be(data1);
                result2.Should().Be(data2);
                result3.Should().Be(data3);
            }