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);
                }
            }
        }
Exemple #2
0
        public void Execute()
        {
            try
            {
                if (Prizm.Main.Common.DateExtension.CheckDiapason(viewModel.FromDate, viewModel.ToDate))
                {
                    repo.Clear();
                    if (viewModel.Statuses.Count > 0)
                    {
                        bool?status;
                        switch (viewModel.Activity)
                        {
                        case ActivityCriteria.StatusActive:
                            status = true;
                            break;

                        case ActivityCriteria.StatusUnactive:
                            status = false;
                            break;

                        default:
                            status = null;
                            break;
                        }

                        IList <Construction.Joint> list = repo.SearchJoint
                                                          (
                            viewModel.Number,
                            viewModel.Statuses,
                            viewModel.FromDate,
                            viewModel.ToDate,
                            viewModel.PegNumber,
                            status,
                            Program.ThisWorkstationType
                                                          );

                        list.OrderBy(n => n.Number).ToList();

                        viewModel.Joints.Clear();
                        foreach (var item in list)
                        {
                            viewModel.Joints.Add(item);
                        }

                        viewModel.Amount = list.Count();
                        RefreshVisualStateEvent();
                    }
                }
                else
                {
                    notify.ShowInfo(Program.LanguageManager.GetString(StringResources.WrongDate),
                                    Program.LanguageManager.GetString(StringResources.Message_ErrorHeader));
                    log.Warn("Date limits not valid!" + "Diapason: start date= "
                             + viewModel.FromDate.ToString() + " end date= " + viewModel.ToDate.ToString());
                }
            }
            catch (RepositoryException ex)
            {
                log.Warn(this.GetType().Name + " | " + ex.ToString());
                notify.ShowWarning(Program.LanguageManager.GetString(StringResources.Notification_Error_Db_Message),
                                   Program.LanguageManager.GetString(StringResources.Notification_Error_Db_Header));
            }
        }