コード例 #1
0
        /// <summary>
        ///     Retrieves specific workflowitem and extension data from the underlying repository
        /// </summary>
        /// <param name="user">The user under moderation</param>
        /// <param name="group">The group that membership is being moderated</param>
        /// <returns>composite of WorkflowItem and AddMemberRequest</returns>
        private Composite <WorkflowItem, AddMemberRequest> GetComposite(string user, string group)
        {
            Composite <WorkflowItem, AddMemberRequest> memberRequest = null;

            //Construct a filter to return the desired target under moderation
            var filter = new CompositeCriteria <WorkflowItemFilter, AddMemberRequest>();

            filter.Filter.Target = Reference.Create(CreateUri(group, user));

            try
            {
                //retrieve the first workflow that matches the target filter
                memberRequest = _workflowItemService.Get(filter).Results.LastOrDefault();
            }
            catch (SocialAuthenticationException ex)
            {
                throw new SocialRepositoryException("The application failed to authenticate with Episerver Social.",
                                                    ex);
            }
            catch (MaximumDataSizeExceededException ex)
            {
                throw new SocialRepositoryException(
                          "The application request was deemed too large for Episerver Social.", ex);
            }
            catch (SocialCommunicationException ex)
            {
                throw new SocialRepositoryException("The application failed to communicate with Episerver Social.", ex);
            }
            catch (SocialException ex)
            {
                throw new SocialRepositoryException("Episerver Social failed to process the application request.", ex);
            }

            return(memberRequest);
        }
コード例 #2
0
        /// <summary>
        ///     Retrieves the first 30 current workflow items, associated with the
        ///     specified workflow, which represent group membership requests.
        /// </summary>
        /// <param name="workflow">Workflow from which to retrieve items</param>
        /// <returns>Collection of workflow items</returns>
        private IEnumerable <Composite <WorkflowItem, AddMemberRequest> > GetWorkflowItemsFor(Workflow workflow)
        {
            IEnumerable <Composite <WorkflowItem, AddMemberRequest> > items;

            if (workflow == null)
            {
                items = new List <Composite <WorkflowItem, AddMemberRequest> >();
            }
            else
            {
                var criteria = new CompositeCriteria <WorkflowItemFilter, AddMemberRequest>
                {
                    Filter = new WorkflowItemFilter
                    {
                        ExcludeHistoricalItems = true, // Include only the current state for the requests
                        Workflow = workflow.Id         // Include only items for the selected group's workflow
                    },
                    PageInfo = new PageInfo {
                        PageSize = 30
                    }                                         // Limit to 30 items
                };

                // Order the results alphabetically by their state and then
                // by the date on which they were created.

                criteria.OrderBy.Add(new SortInfo(WorkflowItemSortFields.State, true));
                criteria.OrderBy.Add(new SortInfo(WorkflowItemSortFields.Created, true));

                items = _workflowItemService.Get(criteria).Results;
            }

            return(items);
        }
コード例 #3
0
        public IList GetBookings(DataRange period)
        {
            if (period == null)
            {
                throw new Exception("Periodo non valido!");
            }

            if (period.IsEmpty())
            {
                throw new Exception("Periodo non valido!");
            }

            Query q = _ps.CreateNewQuery("MapperBooking");

            AbstractBoolCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);

            c.AddCriteria(Criteria.DateTimeContained("Date", period.Start.Date, period.Finish.Date.AddDays(1).AddSeconds(-1), _ps.DBType));


            q.AddWhereClause(c);

            string sss = q.CreateQuery(_ps);

            return(q.Execute(_ps));
        }
コード例 #4
0
        public IList GetCheckins(DateTime date)
        {
            IList result           = null;
            IPersistenceFacade _ps = DataAccessServices.Instance().PersistenceFacade;

            Query q = _ps.CreateNewQuery("MapperCheckin");

            AbstractBoolCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);

            c.AddCriteria(Criteria.DateTimeContained("Checkin", date.Date, date.AddDays(1).Date.AddSeconds(-1), _ps.DBType));


            q.AddWhereClause(c);

            string p = q.CreateQuery(_ps);

            result = q.Execute(_ps);

            IList result1 = new ArrayList();

            foreach (Checkin item in result)
            {
                result1.Add(new ArrivedPerson(item));
            }

            return(result1);
        }
コード例 #5
0
        /// <summary>
        /// Build the appropriate CompositeCriteria based the provided CommunityMemberFilter.
        /// The member filter will either contain a group id or a logged in user id. If neitheris provided an exception is thrown.
        /// </summary>
        /// <param name="communityMemberFilter">The provided member filter</param>
        /// <returns>A composite criteria of type MemberFilter and MemberExtensionData</returns>
        private CompositeCriteria <MemberFilter, MemberExtensionData> BuildCriteria(CommunityMemberFilter communityMemberFilter)
        {
            var pageInfo = new PageInfo {
                PageSize = communityMemberFilter.PageSize
            };
            var orderBy = new List <SortInfo> {
                new SortInfo(MemberSortFields.Id, false)
            };
            var compositeCriteria = new CompositeCriteria <MemberFilter, MemberExtensionData>()
            {
                PageInfo = pageInfo,
                OrderBy  = orderBy
            };

            if (!string.IsNullOrEmpty(communityMemberFilter.CommunityId) && (string.IsNullOrEmpty(communityMemberFilter.UserId)))
            {
                compositeCriteria.Filter = new MemberFilter {
                    Group = GroupId.Create(communityMemberFilter.CommunityId)
                };
            }
            else if ((!string.IsNullOrEmpty(communityMemberFilter.UserId) && (string.IsNullOrEmpty(communityMemberFilter.CommunityId))))
            {
                compositeCriteria.Filter = new MemberFilter {
                    User = Reference.Create(communityMemberFilter.UserId)
                };
            }
            else
            {
                throw new SocialException("This implementation of a CommunityMemberFilter should only contain either a CommunityId or a UserReference.");
            }

            return(compositeCriteria);
        }
コード例 #6
0
        public WIN.TECHNICAL.PERSISTENCE.AbstractBoolCriteria GenerateSql()
        {
            if (!_createSubquery)
            {
                CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);

                if (_senzaCliente)
                {
                    c.AddCriteria(Criteria.IsNull("CustomerID"));
                }
                else
                {
                    if (_customers.Count > 0)
                    {
                        CreateCustomerCriteria(c);
                    }
                    else
                    {
                        c = null;
                    }
                }

                return(c);
            }
            else // creo la subquery per i contatti sui documenti
            {
                if (_customers.Count == 0)
                {
                    return(null);
                }
                CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);
                //creo la clausola where per la sotto query
                AbstractBoolCriteria CompositeListaSoggetti = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);
                if (_customers.Count > 0)
                {
                    foreach (Customer elem in _customers)
                    {
                        CompositeListaSoggetti.AddCriteria(Criteria.Equal("ContactID", elem.Id.ToString()));
                    }
                }
                //creo il corpo della sottoquery
                AbstractBoolCriteria subCriteria = CompositeListaSoggetti;
                //aggiungo anche la clausola distinct   … Select Distinct DocumentID from App_Destinations….
                SubQueryCriteria subqry = new SubQueryCriteria("App_Destinations ", "DocumentID", true);
                //a ggiungo la clausola where … where ContactId = @par1 or ContactId = @par2 ….
                if (_customers.Count > 0)
                {
                    subqry.AddCriteria(subCriteria);
                }
                // aggiungo la sottoquery al criterio principale  ….select * from [Tabella]  where (ID in (select distinct DocumentId……))
                c.AddCriteria(Criteria.INClause("ID ", subqry));

                return(c);
            }
        }
コード例 #7
0
        public FreeRoomCheck IsRoomFree(DateTime start, DateTime end, BookingResource room, int assignmentID)
        {
            if (end <= start)
            {
                throw new Exception("Intervallo date non corretto per la verifica di assegnazioni già presenti");
            }

            if (room == null)
            {
                throw new Exception("Stanza non specificata per la verifica di assegnazioni già presenti");
            }


            end   = end.Date;
            start = start.Date;

            //cerco tutte le assegnazioni per una data camera che intersecano strettamente il periodo considerato
            //cosi facendo ottengo tutte le assegnazioni che si sovrappongono ad una potenziale assegnazione nel periodo
            //considerato.

            //l'input assignmentId serve per il caso in cui sto aggiornando una assegnazione esistente e il check
            //va fatto non considerando la presenza dell'assegnazione in questione
            Query q = _ps.CreateNewQuery("MapperAssignment");

            CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);

            //criterio per la verifica della sovrapposizioe delle assegnazioni
            c.AddCriteria(Criteria.DateRangeStrictlyIntersects("StartDate", "EndDate", start, end, DataAccessServices.Instance().PersistenceFacade.DBType));
            //criterio sulla camera
            c.AddCriteria(Criteria.Equal("Id_Resource", room.Id.ToString()));

            //in caso di modifica
            if (assignmentID > 0)
            {
                NotExp exp = new NotExp(Criteria.Equal("ID", assignmentID.ToString()));
                c.AddCriteria(exp);
            }

            q.AddWhereClause(c);


            string p       = q.CreateQuery(_ps);
            IList  results = q.Execute(_ps);

            FreeRoomCheck cc = new FreeRoomCheck();

            cc.IsFree = results.Count == 0;

            if (cc.IsFree)
            {
                return(cc);
            }

            return(ConstructObject(results, cc, start, end, room));
        }
コード例 #8
0
        public static void TestRealCodedGA()
        {
            int seed = 2;
            var rng  = new StandardGenerator(seed);

            RandomNumberGenerationUtilities.troschuetzRandom = rng; // hack to make sure the same seed is used everwhere in the GA. TODO: Find out which part of the GA messes up.

            // Define optim problem
            OptimizationProblem problem = new Sphere();

            // Define optim algorithm
            var optimBuilder = new RealCodedGeneticAlgorithmBuilder(problem);

            optimBuilder.Logger = new BestOfIterationLogger();

            // Setup logging
            //optimBuilder.Logger = new EmptyLogger();

            // Initialization
            optimBuilder.Initializer = new RealUniformRandomInitializer(problem, rng);

            // Define convergence criteria
            optimBuilder.ConvergenceCriterion = CompositeCriteria.OR(new MaxIterations(200), new MaxFunctionEvaluations(1000000));

            // Define population size
            optimBuilder.PopulationSize = 100;

            // Define selection strategy
            //optimBuilder.Selection = new RouletteWheelSelection<double>(new InverseRankScaling<double>(0.5));
            optimBuilder.Selection = new TournamentSelection <double>(rng, 2, false);
            //optimBuilder.Selection = new StochasticUniversalSampling<double>(new InverseRankScaling<double>(2.0
            //optimBuilder.Selection = new RemainderStochasticSamplingWithReplacement<double>(new InverseRankScaling<double>(1.0));
            //optimBuilder.Selection = new TruncationSelection<double>(0.5);

            // Define recombination strategy
            //optimBuilder.Recombination = new UniformCrossover<double>();
            optimBuilder.Recombination = new IntermediateCrossover(rng);

            // Define mutation strategy
            //optimBuilder.Mutation = new ConstantGaussianMutation(problem, 1.0);
            optimBuilder.Mutation = new UniformMutation(problem, 0.01, rng);

            // Start optimization
            GeneticAlgorithm <double> optimAlgorithm = optimBuilder.BuildAlgorithm();

            optimAlgorithm.Solve();

            // Check results
            double expectedFitness = 0.0;
            var    expectedDesign  = Vector.CreateWithValue(problem.Dimension, 0.0);

            Assert.Equal(expectedFitness, optimAlgorithm.BestFitness, 2);
            Assert.True(Vector.CreateFromArray(optimAlgorithm.BestPosition).Equals(expectedDesign, 1E-1));
        }
コード例 #9
0
        /// <summary>
        ///     Retrieves a collection of the first 30 workflows in
        ///     the system.
        /// </summary>
        /// <returns>Collection of workflows</returns>
        private IEnumerable <Workflow> GetWorkflows()
        {
            var criteria = new CompositeCriteria <WorkflowFilter, MembershipModeration>
            {
                PageInfo = new PageInfo {
                    PageSize = 30
                }
            };

            return(_workflowService.Get(criteria).Results.Select(x => x.Data));
        }
コード例 #10
0
        private void CreateCustomerCriteria(CompositeCriteria c)
        {
            CompositeCriteria c1 = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);

            foreach (Customer item in _customers)
            {
                if (item != null)
                {
                    c1.AddCriteria(Criteria.Equal("CustomerID", item.Id.ToString()));
                }
            }
            c.AddCriteria(c1);
        }
コード例 #11
0
        private IEnumerable <Composite <Comment, Review> > GetProductReviews(Visibility visibility, int page, int limit,
                                                                             out long total)
        {
            var commentCriteria = new CompositeCriteria <CommentFilter, Review>
            {
                Filter = new CommentFilter
                {
                    Visibility = visibility
                },
                PageInfo = new PageInfo
                {
                    PageSize            = limit,
                    CalculateTotalCount = true,
                    PageOffset          = (page - 1) * limit
                },
                OrderBy = new List <SortInfo>
                {
                    new SortInfo(CommentSortFields.Created, false)
                }
            };

            ResultPage <Composite <Comment, Review> > ratings = null;

            try
            {
                ratings = _commentService.Get(commentCriteria);
                total   = ratings.TotalCount;
                //return this._commentService.Get(commentCriteria).Results;
            }
            catch (SocialAuthenticationException ex)
            {
                throw new SocialRepositoryException("The application failed to authenticate with Episerver Social.",
                                                    ex);
            }
            catch (MaximumDataSizeExceededException ex)
            {
                throw new SocialRepositoryException(
                          "The application request was deemed too large for Episerver Social.", ex);
            }
            catch (SocialCommunicationException ex)
            {
                throw new SocialRepositoryException("The application failed to communicate with Episerver Social.", ex);
            }
            catch (SocialException ex)
            {
                throw new SocialRepositoryException("Episerver Social failed to process the application request.", ex);
            }

            return(ratings.Results);
        }
コード例 #12
0
        /// <summary>
        ///     Returns the moderation workflow supporting the specified group.
        /// </summary>
        /// <param name="group">ID of the group</param>
        /// <returns>Moderation workflow supporting the specified group</returns>
        private CommunityMembershipWorkflow GetWorkflowFor(string group)
        {
            CommunityMembershipWorkflow expectedSocialWorkflow = null;
            var listOfWorkflow = Enumerable.Empty <Composite <Workflow, MembershipModeration> >();

            var filterWorkflowsByGroup =
                FilterExpressionBuilder <MembershipModeration> .Field(m => m.Group)
                .EqualTo(group);

            var criteria = new CompositeCriteria <WorkflowFilter, MembershipModeration>
            {
                PageInfo = new PageInfo {
                    PageSize = 1
                },
                ExtensionFilter = filterWorkflowsByGroup
            };

            try
            {
                listOfWorkflow = _workflowService.Get(criteria).Results;
                if (listOfWorkflow.Any())
                {
                    var workflow = listOfWorkflow.First().Data;
                    expectedSocialWorkflow =
                        new CommunityMembershipWorkflow(workflow.Id.Id, workflow.Name, workflow.InitialState.Name);
                }
            }
            catch (SocialAuthenticationException ex)
            {
                throw new SocialRepositoryException("The application failed to authenticate with Episerver Social.",
                                                    ex);
            }
            catch (MaximumDataSizeExceededException ex)
            {
                throw new SocialRepositoryException(
                          "The application request was deemed too large for Episerver Social.", ex);
            }
            catch (SocialCommunicationException ex)
            {
                throw new SocialRepositoryException("The application failed to communicate with Episerver Social.", ex);
            }
            catch (SocialException ex)
            {
                throw new SocialRepositoryException("Episerver Social failed to process the application request.", ex);
            }

            return(expectedSocialWorkflow);
        }
コード例 #13
0
        /// <summary>
        /// Retrieves a community based on a list of community ids that are provided.
        /// </summary>
        /// <param name="communityIds">The groups ids that are to be retrieved from the underlying data store.</param>
        /// <returns>The requested groups.</returns>
        public List <Community> Get(List <string> communityIds)
        {
            List <Community> socialGroups = new List <Community>();

            try
            {
                var groupIdList = communityIds.Select(x => GroupId.Create(x)).ToList();
                var groupCount  = groupIdList.Count();
                var criteria    = new CompositeCriteria <GroupFilter, GroupExtensionData>
                {
                    Filter = new GroupFilter {
                        GroupIds = groupIdList
                    },
                    PageInfo = new PageInfo {
                        PageSize = groupCount
                    },
                    OrderBy = new List <SortInfo> {
                        new SortInfo(GroupSortFields.Name, true)
                    }
                };
                var returnedGroups = this.groupService.Get(criteria);
                socialGroups = returnedGroups.Results.Select(x => new Community(x.Data.Id.Id, x.Data.Name, x.Data.Description, x.Extension.PageLink)).ToList();
            }
            catch (SocialAuthenticationException ex)
            {
                throw new SocialRepositoryException("The application failed to authenticate with Episerver Social.", ex);
            }
            catch (MaximumDataSizeExceededException ex)
            {
                throw new SocialRepositoryException("The application request was deemed too large for Episerver Social.", ex);
            }
            catch (SocialCommunicationException ex)
            {
                throw new SocialRepositoryException("The application failed to communicate with Episerver Social.", ex);
            }
            catch (SocialException ex)
            {
                throw new SocialRepositoryException("Episerver Social failed to process the application request.", ex);
            }
            catch (GroupDoesNotExistException ex)
            {
                throw new SocialRepositoryException("Episerver Social could not find the community requested.", ex);
            }


            return(socialGroups);
        }
コード例 #14
0
        protected void Visit(CompositeCriteria criteria)
        {
            _str.Append(StringPair.Parenthesis.Begin);
            Visit(criteria.Left);
            switch (criteria.Logic)
            {
            case LogicType.And:
                _str.Append(_tr.And);
                break;

            case LogicType.Or:
                _str.Append(_tr.Or);
                break;
            }
            Visit(criteria.Right);
            _str.Append(StringPair.Parenthesis.End);
        }
コード例 #15
0
        private IEnumerable <Composite <Comment, Review> > GetProductReviews(Reference product)
        {
            var commentCriteria = new CompositeCriteria <CommentFilter, Review>
            {
                Filter = new CommentFilter
                {
                    Parent = product
                },
                PageInfo = new PageInfo
                {
                    PageSize = 20
                },
                OrderBy = new List <SortInfo>
                {
                    new SortInfo(CommentSortFields.Created, false)
                }
            };

            ResultPage <Composite <Comment, Review> > ratings = null;

            try
            {
                ratings = _commentService.Get(commentCriteria);
                //return this._commentService.Get(commentCriteria).Results;
            }
            catch (SocialAuthenticationException ex)
            {
                throw new SocialRepositoryException("The application failed to authenticate with Episerver Social.",
                                                    ex);
            }
            catch (MaximumDataSizeExceededException ex)
            {
                throw new SocialRepositoryException(
                          "The application request was deemed too large for Episerver Social.", ex);
            }
            catch (SocialCommunicationException ex)
            {
                throw new SocialRepositoryException("The application failed to communicate with Episerver Social.", ex);
            }
            catch (SocialException ex)
            {
                throw new SocialRepositoryException("Episerver Social failed to process the application request.", ex);
            }

            return(ratings.Results);
        }
コード例 #16
0
        private CompositeCriteria CreateStapeCriteria()
        {
            if (_scaduti)
            {
                return(CreateScadutiCriteria());
            }



            if (_Non_iniziata == false && _In_corso == false && _Completata == false && _In_attesa == false && _Rinviata == false)
            {
                return(null);
            }

            CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);

            if (_Non_iniziata)
            {
                c.AddCriteria(Criteria.Equal("Status", "0"));
            }

            if (_In_corso)
            {
                c.AddCriteria(Criteria.Equal("Status", "1"));
            }

            if (_Completata)
            {
                c.AddCriteria(Criteria.Equal("Status", "2"));
            }

            if (_In_attesa)
            {
                c.AddCriteria(Criteria.Equal("Status", "3"));
            }

            if (_Rinviata)
            {
                c.AddCriteria(Criteria.Equal("Status", "4"));
            }


            return(c);
        }
コード例 #17
0
        public IList ExecuteQuery(IList <IsearchDTO> criterias, int maxQueryresult, int deadlinesDays)
        {
            _bindableResults = new BindingList <MyAppointment>();

            Query q = _ps.CreateNewQuery("MapperMyAppointment");

            q.SetTable("App_Appointments");
            if (maxQueryresult > 0)
            {
                q.SetMaxNumberOfReturnedRecords(maxQueryresult);
            }

            if (criterias.Count > 0)
            {
                CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);
                foreach (IsearchDTO item in criterias)
                {
                    if (item != null)
                    {
                        AbstractBoolCriteria crit = item.GenerateSql();
                        if (crit != null)
                        {
                            c.AddCriteria(crit);
                        }
                    }
                }
                q.AddWhereClause(c);
            }

            string a = q.CreateQuery(_ps);

            IList l = q.Execute(_ps);


            //calcolo lo stato per ogni appp ritornato
            foreach (MyAppointment item in l)
            {
                item.CalculateAppointmentInfo(deadlinesDays);
                _bindableResults.Add(item);
            }

            return(l);
        }
コード例 #18
0
        public WIN.TECHNICAL.PERSISTENCE.AbstractBoolCriteria GenerateSql()
        {
            bool modified       = false;
            CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);


            if (!string.IsNullOrEmpty(_subject))
            {
                c.AddCriteria(Criteria.Matches("Subject", _subject, DataAccessServices.Instance().PersistenceFacade.DBType));
                modified = true;
            }

            if (!string.IsNullOrEmpty(_priority))
            {
                PriorityType t = (PriorityType)Enum.Parse(typeof(PriorityType), _priority);
                c.AddCriteria(Criteria.Equal("Priority", Convert.ToInt32(t).ToString()));
                modified = true;
            }

            if (!_range.IsEmpty())
            {
                DataRange r = AppointmentUtils.CreateRangeForQuery(_range);
                c.AddCriteria(Criteria.DateTimeContained("OutcomeDate", r.Start, r.Finish, DataAccessServices.Instance().PersistenceFacade.DBType));
                modified = true;
            }


            CompositeCriteria c1 = CreateStapeCriteria();

            if (c1 != null)
            {
                c.AddCriteria(c1);
                modified = true;
            }


            if (modified)
            {
                return(c);
            }
            return(null);
        }
コード例 #19
0
        public IList ExecuteQuery(IList <IsearchDTO> criterias, int maxQueryresult)
        {
            _bindableResults = new BindingList <DOMAIN.Booking.Booking>();

            Query q = _ps.CreateNewQuery("MapperBooking");

            q.SetTable("Book_Booking");
            if (maxQueryresult > 0)
            {
                q.SetMaxNumberOfReturnedRecords(maxQueryresult);
            }

            if (criterias.Count > 0)
            {
                CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);
                foreach (IsearchDTO item in criterias)
                {
                    if (item != null)
                    {
                        AbstractBoolCriteria crit = item.GenerateSql();
                        if (crit != null)
                        {
                            c.AddCriteria(crit);
                        }
                    }
                }
                q.AddWhereClause(c);
            }

            string a = q.CreateQuery(_ps);

            IList l = q.Execute(_ps);


            //calcolo lo stato per ogni appp ritornato
            foreach (DOMAIN.Booking.Booking item in l)
            {
                _bindableResults.Add(item);
            }

            return(l);
        }
コード例 #20
0
        /// <summary>
        /// Gets a collection of reviews for the identified product.
        /// </summary>
        /// <param name="product">Reference identifying the product</param>
        /// <returns>Collection of reviews for the product</returns>
        private IEnumerable <Composite <Comment, Review> > GetProductReviews(EPiServer.Social.Common.Reference product)
        {
            var commentCriteria = new CompositeCriteria <CommentFilter, Review>()
            {
                Filter = new CommentFilter
                {
                    Parent = product
                },
                PageInfo = new PageInfo
                {
                    PageSize = 20
                },
                OrderBy = new List <SortInfo>
                {
                    new SortInfo(CommentSortFields.Created, false)
                }
            };

            return(this.commentService.Get(commentCriteria).Results);
        }
コード例 #21
0
        public WIN.TECHNICAL.PERSISTENCE.AbstractBoolCriteria GenerateSql()
        {
            CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);

            if (_state == StateAppointmentDTOEnum.Non_Eseguiti)
            {
                c.AddCriteria(Criteria.Equal("OutcomeCreated", "0"));
                return(c);
            }
            else if (_state == StateAppointmentDTOEnum.Tutti)
            {
                return(null);
            }
            else
            {
                c.AddCriteria(Criteria.Equal("OutcomeCreated", "1"));
                //if (_conclusi)
                //c.AddCriteria(Criteria.Equal("Closed", "1"));
                //else
                if (!_conclusi)
                {
                    c.AddCriteria(Criteria.Equal("Closed", "0"));
                }


                if (_outcomes.Count > 0)
                {
                    CompositeCriteria c1 = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);
                    foreach (Outcome item in _outcomes)
                    {
                        if (item != null)
                        {
                            c1.AddCriteria(Criteria.Equal("OutcomeID", item.Id.ToString()));
                        }
                    }
                    c.AddCriteria(c1);
                }

                return(c);
            }
        }
コード例 #22
0
        public IUser GetUser(string username, string password)
        {
            Query             query        = ps.CreateNewQuery("MapperUser");
            CompositeCriteria mainCriteria = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);

            mainCriteria.AddCriteria(Criteria.Equal("Username", "'" + username + "'"));
#if (FENEAL)
            mainCriteria.AddCriteria(Criteria.Equal("Password", "'" + password + "'"));
#else
            mainCriteria.AddCriteria(Criteria.Equal("Passwordd", "'" + password + "'"));
#endif

            query.AddWhereClause(mainCriteria);

            IList list = query.Execute(ps);
            if (list.Count == 0)
            {
                return(null);
            }
            return(list[0] as IUser);
        }
コード例 #23
0
        public WIN.TECHNICAL.PERSISTENCE.AbstractBoolCriteria GenerateSql()
        {
            CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);

            if (_forRimesse)
            {
                c.AddCriteria(Criteria.Equal("Anno", _year.ToString()));
            }
            else
            {
                c.AddCriteria(Criteria.DateTimeContained("Data", _range.Start, _range.Finish, DataAccessServices.Instance().PersistenceFacade.DBType));
            }

            if (_province != null)
            {
                foreach (Provincia item in _province)
                {
                    c.AddCriteria(Criteria.Equal("Id_Provincia", item.Id.ToString()));
                }
            }

            if (_regioni != null)
            {
                foreach (Regione item in _regioni)
                {
                    c.AddCriteria(Criteria.Equal("Id_Regione", item.Id.ToString()));
                }
            }

            if (_causali != null)
            {
                foreach (CausaleAmministrativa item in _causali)
                {
                    c.AddCriteria(Criteria.Equal("Id_CausaleAmministrazione", item.Id.ToString()));
                }
            }


            return(c);
        }
コード例 #24
0
        public IList ExecuteQuery(IList <IsearchDTO> criterias)
        {
            _bindableResults = new BindingList <AbstractMovimentoContabile>();

            Query q = _ps.CreateNewQuery("Mapper" + ObjectTypeName);

            //q.SetTable("App_Appointments");


            if (criterias.Count > 0)
            {
                CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);
                foreach (IsearchDTO item in criterias)
                {
                    if (item != null)
                    {
                        AbstractBoolCriteria crit = item.GenerateSql();
                        if (crit != null)
                        {
                            c.AddCriteria(crit);
                        }
                    }
                }
                q.AddWhereClause(c);
            }

            string a = q.CreateQuery(_ps);

            IList l = q.Execute(_ps);


            //creo la binding list
            foreach (AbstractMovimentoContabile item in l)
            {
                _bindableResults.Add(item);
            }

            return(l);
        }
コード例 #25
0
        private CompositeCriteria CreateScadutiCriteria()
        {
            CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);

            c.AddCriteria(Criteria.Equal("Status", "0"));

            c.AddCriteria(Criteria.Equal("Status", "1"));

            c.AddCriteria(Criteria.Equal("Status", "3"));

            c.AddCriteria(Criteria.Equal("Status", "4"));



            if (_allaData != DateTime.MinValue)
            {
                AndExp a = new AndExp(c, Criteria.DateTimeContained("EndDate", new DateTime(1900, 1, 1), _allaData.AddDays(1).Date, DataAccessServices.Instance().PersistenceFacade.DBType));
                return(a);
            }

            return(c);
        }
コード例 #26
0
        public IList GetArrivalsAndDepartures(DateTime date, bool arrivals)
        {
            IList result = null;


            Query q = _ps.CreateNewQuery("MapperAssignment");

            AbstractBoolCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);

            if (arrivals)
            {
                c.AddCriteria(Criteria.DateEqual("StartDate", date.Date, _ps.DBType));
            }
            else
            {
                c.AddCriteria(Criteria.DateEqual("EndDate", date.Date, _ps.DBType));
            }


            q.AddWhereClause(c);


            result = q.Execute(_ps);


            IList l = new ArrayList();


            foreach (Assignment item in result)
            {
                l.Add(new Arrival(item));
            }


            return(l);
        }
コード例 #27
0
        //#region MembriSovrascritti
        //[Secure(Area = "Contatti", Alias = "Visualizza contatto", MacroArea = "Applicativo")]
        //public void CheckSecurityForView()
        //{
        //    SecurityManager.Instance.Check();
        //}


        //[Secure(Area = "Contatti", Alias = "Inserisci contatto", MacroArea = "Applicativo")]
        //public void CheckSecurityForInsert()
        //{
        //    SecurityManager.Instance.Check();
        //}


        //[Secure(Area = "Contatti", Alias = "Aggiorna contatto", MacroArea = "Applicativo")]
        //public void CheckSecurityForUpdate()
        //{
        //    SecurityManager.Instance.Check();
        //}

        //[Secure(Area = "Contatti", Alias = "Elimina contatto", MacroArea = "Applicativo")]
        //public void CheckSecurityForDeletion()
        //{
        //    SecurityManager.Instance.Check();
        //}


        //public override AbstractPersistenceObject GetElementById(string id)
        //{
        //    CheckSecurityForView();
        //    return base.GetElementById(id);
        //}


        //public override void SaveOrUpdate(AbstractPersistenceObject element)
        //{
        //    if (element == null)
        //        return;

        //    if (element.Key == null)
        //        CheckSecurityForInsert();
        //    else
        //        CheckSecurityForUpdate();

        //    base.SaveOrUpdate(element);
        //}


        //public override void Delete(AbstractPersistenceObject element)
        //{
        //    CheckSecurityForDeletion();
        //    base.Delete(element);
        //}


        //public override IList GetAll()
        //{
        //    CheckSecurityForView();
        //    return base.GetAll();
        //}

//#endregion



        public IList SearchCustomers(CustomerSearchDTO dto)
        {
            //CheckSecurityForView();

            Query q = _ps.CreateNewQuery("MapperCustomer");

#if (FENEAL)
            q.SetTable("DB_UTENTE");
#else
            q.SetTable("App_Customers");
#endif
            q.SetMaxNumberOfReturnedRecords(dto.MaxResult);


            CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);


            if (!string.IsNullOrEmpty(dto.Descrizione))
            {
                c.AddCriteria(Criteria.Matches("COGNOME", dto.Descrizione, _ps.DBType));
            }

            if (!string.IsNullOrEmpty(dto.Responsable))
            {
                c.AddCriteria(Criteria.Matches("NOME", dto.Responsable, _ps.DBType));
            }

            if (dto.CheckPrivate)
            {
                if (dto.IsPrivate)
                {
                    c.AddCriteria(Criteria.Equal("IS_PRIVATO", "1"));
                }
                else
                {
                    c.AddCriteria(Criteria.Equal("IS_PRIVATO", "0"));
                }
            }


            if (!string.IsNullOrEmpty(dto.Cellulare))
            {
                c.AddCriteria(Criteria.Matches("CELL1", dto.Cellulare, _ps.DBType));
            }

            if (!string.IsNullOrEmpty(dto.Mail))
            {
                c.AddCriteria(Criteria.Matches("MAIL", dto.Mail, _ps.DBType));
            }

            if (!string.IsNullOrEmpty(dto.Piva))
            {
                c.AddCriteria(Criteria.Matches("CODICE_FISCALE", dto.Piva, _ps.DBType));
            }


            if (dto.Resource != null)
            {
                c.AddCriteria(Criteria.Equal("ResourceID", dto.Resource.Id.ToString()));
            }

            if (dto.Province != null)
            {
                if (dto.Province.Id != -1)
                {
                    c.AddCriteria(Criteria.Equal("ID_TB_PROVINCIE_RESIDENZA", dto.Province.Id.ToString()));
                }
            }

            if (dto.Comune != null)
            {
                if (dto.Comune.Id != -1)
                {
                    c.AddCriteria(Criteria.Equal("ID_TB_COMUNI_RESIDENZA", dto.Comune.Id.ToString()));
                }
            }



            q.AddWhereClause(c);

            string d = q.CreateQuery(_ps);

            return(q.Execute(_ps));
        }
コード例 #28
0
        public WIN.TECHNICAL.PERSISTENCE.AbstractBoolCriteria GenerateSql()
        {
            if (_noPeriod)
            {
                return(null);
            }


            DataRange r;


            switch (_state)
            {
            case PeriodAppointmentDTOEnum.Prossimi_Sei_Mesi:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(1), DateTime.Now.AddDays(1).AddMonths(6)));
                break;

            case PeriodAppointmentDTOEnum.Prossimi_Tre_Mesi:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(1), DateTime.Now.AddDays(1).AddMonths(3)));
                break;

            case PeriodAppointmentDTOEnum.Prossimo_Mese:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(1), DateTime.Now.AddDays(1).AddMonths(1)));
                break;

            case PeriodAppointmentDTOEnum.Prossime_Due_Settimane:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(1), DateTime.Now.AddDays(15)));
                break;

            case PeriodAppointmentDTOEnum.Prossima_Settimana:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(1), DateTime.Now.AddDays(8)));
                break;

            case PeriodAppointmentDTOEnum.Domani:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(1), DateTime.Now.AddDays(1)));
                break;

            case PeriodAppointmentDTOEnum.Oggi:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now, DateTime.Now));
                break;

            case PeriodAppointmentDTOEnum.Ultima_Settimana:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(-8), DateTime.Now.AddDays(-1)));
                break;

            case PeriodAppointmentDTOEnum.Ultime_Due_Settimane:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(-15), DateTime.Now.AddDays(-1)));
                break;

            case PeriodAppointmentDTOEnum.Ultimo_Mese:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(-1).AddMonths(-1), DateTime.Now.AddDays(-1)));
                break;

            case PeriodAppointmentDTOEnum.Ultimi_Tre_Mesi:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(-1).AddMonths(-3), DateTime.Now.AddDays(-1)));
                break;

            case PeriodAppointmentDTOEnum.Ultimi_Sei_Mesi:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now.AddDays(-1).AddMonths(-6), DateTime.Now.AddDays(-1)));
                break;

            case PeriodAppointmentDTOEnum.Periodo:
                r = AppointmentUtils.CreateRangeForQuery(_range);
                break;

            default:
                r = AppointmentUtils.CreateRangeForQuery(new DataRange(DateTime.Now, DateTime.Now));
                break;
            }

            if (_findAlsoOverlappedAppointments)
            {
                CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);
                c.AddCriteria(Criteria.DateRangeIntersects("StartDate", "EndDate", r.Start, r.Finish, DataAccessServices.Instance().PersistenceFacade.DBType));
                return(c);
            }
            else
            {
                CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);
                c.AddCriteria(Criteria.DateTimeContained("StartDate", r.Start, r.Finish, DataAccessServices.Instance().PersistenceFacade.DBType));
                return(c);
            }
        }
コード例 #29
0
        public WIN.TECHNICAL.PERSISTENCE.AbstractBoolCriteria GenerateSql()
        {
            bool modified       = false;
            CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);


            if (!string.IsNullOrEmpty(_subject))
            {
                c.AddCriteria(Criteria.Matches("Subject", _subject, DataAccessServices.Instance().PersistenceFacade.DBType));
                modified = true;
            }

            if (!string.IsNullOrEmpty(_location))
            {
                c.AddCriteria(Criteria.Matches("Location", _location, DataAccessServices.Instance().PersistenceFacade.DBType));
                modified = true;
            }



            if (_labels.Count > 0)
            {
                CompositeCriteria c1 = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);
                foreach (Label item in _labels)
                {
                    if (item != null)
                    {
                        c1.AddCriteria(Criteria.Equal("LabelID", item.Id.ToString()));
                    }
                }
                c.AddCriteria(c1);
                modified = true;
            }

            if (_resources.Count > 0)
            {
                CompositeCriteria c1 = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);
                foreach (Resource item in _resources)
                {
                    if (item != null)
                    {
                        c1.AddCriteria(Criteria.Equal("ResourceID", item.Id.ToString()));
                    }
                }
                c.AddCriteria(c1);
                modified = true;
            }

            if (_operators.Count > 0)
            {
                CompositeCriteria c1 = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);
                foreach (Operator item in _operators)
                {
                    if (item != null)
                    {
                        c1.AddCriteria(Criteria.Equal("OperatorID", item.Id.ToString()));
                    }
                }
                c.AddCriteria(c1);
                modified = true;
            }

            if (modified)
            {
                return(c);
            }
            return(null);
        }
コード例 #30
0
        public WIN.TECHNICAL.PERSISTENCE.AbstractBoolCriteria GenerateSql()
        {
            //bool modified = false;
            CompositeCriteria c = new CompositeCriteria(AbstractBoolCriteria.Operatore.AndOp);

            c.AddCriteria(Criteria.Equal("DocYear", _year.ToString()));

            if (!string.IsNullOrEmpty(_subject))
            {
                c.AddCriteria(Criteria.Matches("Subject", _subject, DataAccessServices.Instance().PersistenceFacade.DBType));
                //modified = true;
            }

            if (!string.IsNullOrEmpty(_protocol))
            {
                c.AddCriteria(Criteria.Matches("Protocol", _protocol, DataAccessServices.Instance().PersistenceFacade.DBType));
                //modified = true;
            }



            if (_labels.Count > 0)
            {
                CompositeCriteria c1 = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);
                foreach (DocumentType item in _labels)
                {
                    if (item != null)
                    {
                        c1.AddCriteria(Criteria.Equal("DocTypeID", item.Id.ToString()));
                    }
                }
                c.AddCriteria(c1);
                //modified = true;
            }

            if (_scopes.Count > 0)
            {
                CompositeCriteria c1 = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);
                foreach (DocumentScope item in _scopes)
                {
                    if (item != null)
                    {
                        c1.AddCriteria(Criteria.Equal("ScopeID", item.Id.ToString()));
                    }
                }
                c.AddCriteria(c1);
                //modified = true;
            }

            if (_operators.Count > 0)
            {
                CompositeCriteria c1 = new CompositeCriteria(AbstractBoolCriteria.Operatore.OrOp);
                foreach (Operator item in _operators)
                {
                    if (item != null)
                    {
                        c1.AddCriteria(Criteria.Equal("OperatorID", item.Id.ToString()));
                    }
                }
                c.AddCriteria(c1);
                //modified = true;
            }

            //if (modified)
            return(c);
            // return null;
        }