Exemple #1
0
        public void Execute()
        {
            repo.Clear();
            DetachedCriteria criteria = DetachedCriteria.For <Construction.Joint>();

            if (viewModel.Statuses.Count > 0)
            {
                if (!string.IsNullOrWhiteSpace(viewModel.Number))
                {
                    criteria.Add(Restrictions.Like("Number", viewModel.Number, MatchMode.Anywhere).IgnoreCase());
                }

                criteria.Add(Restrictions.Eq("NumberKP", viewModel.PegNumber));

                if (viewModel.FromDate > DateTime.MinValue)
                {
                    criteria.Add(Restrictions.Gt("LoweringDate", viewModel.FromDate));
                }
                if (viewModel.ToDate > DateTime.MinValue)
                {
                    criteria.Add(Restrictions.Lt("LoweringDate", viewModel.ToDate));
                }
                criteria.Add(Restrictions.In("Status", viewModel.Statuses));

                if (viewModel.Activity.Equals(ActivityCriteria.StatusActive))
                {
                    criteria.Add(Restrictions.Eq("IsActive", true));
                }
                else if (viewModel.Activity.Equals(ActivityCriteria.StatusUnactive))
                {
                    criteria.Add(Restrictions.Eq("IsActive", false));
                }
                criteria.AddOrder(Order.Asc("Number"));

                var list = repo.GetByCriteria(criteria);
                viewModel.Joints.Clear();
                foreach (var item in list)
                {
                    viewModel.Joints.Add(item);
                }
            }
        }