示例#1
0
        private void createTableFormulas()
        {
            using (IUnitOfWork uow = UnitOfWorkFactory.CreateWithoutRoot())
            {
                Domain.SalaryFormulas salaryFormulas = null;
                var itemsQueryService = uow.Session.QueryOver <Service>().Where(x => x.ListServiceOrderType != null).List().Where(x => x.ListServiceOrderType.Count > 0).ToList()
                                        .Where(x => x.ListServiceOrderType[0].OrderTypeClass.IsCalculateSalary).ToList();
                var itemsQuerySalaryFormulas = uow.Session.QueryOver <Domain.SalaryFormulas>(() => salaryFormulas).List();

                foreach (var serv in itemsQueryService)
                {
                    if (itemsQuerySalaryFormulas.Where(x => x.Service.Id == serv.Id).Count() < 1)
                    {
                        itemsQuerySalaryFormulas.Add(new Domain.SalaryFormulas(serv, "", ""));
                    }
                }

                ytreeFormulas.ColumnsConfig = ColumnsConfigFactory.Create <Domain.SalaryFormulas>()
                                              .AddColumn("Услуга").AddTextRenderer(x => x.Service.Name)
                                              .AddColumn("Формула").AddTextRenderer(x => x.Formula)
                                              .AddColumn("Комментарий").AddTextRenderer(x => x.Comment)
                                              .Finish();
                ytreeFormulas.ItemsDataSource    = itemsQuerySalaryFormulas;
                ytreeFormulas.Selection.Changed += Selection_Changed;
            }
        }
示例#2
0
        protected void OnBtnEditFormulaClicked(object sender, EventArgs e)
        {
            Domain.SalaryFormulas w = ytreeFormulas.GetSelectedObject <Domain.SalaryFormulas>();
            AddEditFormulas       frmAddEditFormulas = new AddEditFormulas(w);

            frmAddEditFormulas.Show();
            if (frmAddEditFormulas.Run() == (int)ResponseType.Ok)
            {
                createTableFormulas();
            }
        }
        private bool checkServiceFormulas(IList <EmployeeServiceWork> listEmployeeServiceWork, IUnitOfWork uow)
        {
            bool isFormulasOK = true;

            Domain.SalaryFormulas salaryFormulas = null;
            var listFormulas = uow.Session.QueryOver <Domain.SalaryFormulas>(() => salaryFormulas).List();

            foreach (var service in listEmployeeServiceWork)
            {
                if (!listFormulas.Where(x => x.Service == service.WorkOrderPay.Service).Any())
                {
                    isFormulasOK = false;
                    break;
                }
            }
            return(isFormulasOK);
        }
        private bool checkCoeffBeforeDelete(string coeff)
        {
            Domain.SalaryFormulas         salaryFormulas = null;
            IList <Domain.SalaryFormulas> listFormulas   = UoW.Session.QueryOver <Domain.SalaryFormulas>(() => salaryFormulas).List();

            foreach (var formula in listFormulas)
            {
                if (formula.Formula.Contains(coeff))
                {
                    string str        = "- =/*+()";
                    int    index      = formula.Formula.IndexOf(coeff);
                    int    indexAfter = index + coeff.Length + 1;

                    string strAfter, strBefore;
                    if (indexAfter > formula.Formula.Length)
                    {
                        strAfter = " ";
                    }
                    else
                    {
                        strAfter = formula.Formula.ToArray()[indexAfter].ToString();
                    }
                    if (index == 0)
                    {
                        strBefore = " ";
                    }
                    else
                    {
                        strBefore = formula.Formula.ToArray()[--index].ToString();
                    }

                    if (str.Contains(strBefore) && str.Contains(strAfter))
                    {
                        return(true);                       // удалять нельзя
                    }
                    return(false);
                }
            }

            return(false);
        }
        public AddEditFormulas(Domain.SalaryFormulas SalaryFormula)
        {
            this.Build();
            this.Title = "Редактирование формулы";
            if (SalaryFormula.Id != 0)
            {
                this.salaryFormulas = UoW.Session.QueryOver <Domain.SalaryFormulas>().List().FirstOrDefault(x => x.Id == SalaryFormula.Id);
            }

            salaryFormulas.Service     = SalaryFormula.Service;
            listCoefficients           = UoW.Session.QueryOver <Coefficients>().List();
            yentry.Text                = salaryFormulas.Formula;
            ytreeCoeff.ItemsDataSource = listCoefficients;
            label2.Text                = "Коэффициенты:";
            label3.Text                = "Запишите формулу, используя коэффициенты из таблицы.\n" +
                                         "Если нужного коэффициента нет - добавьте его.";

            ytreeCoeff.ColumnsConfig = ColumnsConfigFactory.Create <Domain.Coefficients>()
                                       .AddColumn("Услуга").AddTextRenderer(x => x.Name).Editable()
                                       .AddColumn("Комментарий").AddTextRenderer(x => x.Comment).Editable()
                                       .Finish();
        }