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; } }
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(); }