/// <summary>Список работников</summary> public static Worker[] GetWorkers(data.ETypeTemplate type, bool Positions, string list = null) { var ratios = LogicHelper.RatioSignerLogic.Find(DateControl_Class.SelectMonth, type, list); var workers = ratios.Select(x => new Worker(x.WorkerID)).ToArray(); return(workers); }
/// <summary>Получить работников согласно таблице подписантов</summary> public static Worker[] GetWorkers(data.ETypeTemplate type) { //var workers = LogicHelper.RatioSignerLogic.Find(DateControl_Class.SelectMonth, type); //return workers.Select(x => x.Worker).ToArray(); return(LogicHelper.WorkerLogic.Find().ToArray()); }
public static TP Get(data.ETypeTemplate type) { G.TemplatePrint.QUERRY() .SHOW .WHERE .C(C.TemplatePrint.TypeTemplate, (uint)type) .AND .OB() .AC(C.TemplatePrint.YM).Less.BV(DateControl_Class.SelectMonth) .OR .C(C.TemplatePrint.YM, 0) .CB() .DO(); TP[] list = new TP[G.TemplatePrint.Rows.Count]; for (int i = 0; i < list.Length; i++) { list[i] = new TP(G.TemplatePrint.Rows.GetID(i)); } if (list.Length == 0) { MessageBox.Show("В базе не найдены ссылки на шаблоны!", "ВНИМАНИЕ!", MessageBoxButton.OK, MessageBoxImage.Warning); return(null); } var result = list.OrderBy(x => x.YM).Last(); if (CheckTemplateExist(result.Path)) { G.TextFromTemplate.QUERRY() .SHOW .WHERE .C(C.TextFromTemplate.TemplatePrint, result.ID) .DO(); result.textFromTP = new TextFromTP[G.TextFromTemplate.Rows.Count]; for (int i = 0; i < result.textFromTP.Length; i++) { result.textFromTP[i] = new TextFromTP(G.TextFromTemplate.Rows.GetID(i)); } return(result); } return(null); }
/// <summary>Получить таблицу работников соглассно таблице подписантов</summary> public static DataTable GetWorkerDT(data.ETypeTemplate type) { DataTable result = new DataTable(); result.Columns.Add("ID"); result.Columns.Add("ФИО"); result.Columns.Add("Должность"); var worker = GetWorkers(type); foreach (var one in worker) { result.Rows.Add(one.ID, one.FIO, one.Post); } return(result); }
/// <summary>Получить подписывающего соглассно таблице подписантов</summary> public static Worker GetSigner(data.ETypeTemplate type, string list) { if (list == null) { list = ""; } var ratioSigner = LogicHelper.RatioSignerLogic.Find(DateControl_Class.SelectMonth, type, list); if (!ratioSigner.Any()) { throw new Exception($"Не выбран подписывающий для данного документа! {G.TypeTemplate.Rows.Get<string>((uint)type, C.TypeTemplate.Name)}"); } else if (ratioSigner.Count() > 1) { throw new Exception($"Подписывающих не может быть больше одного! {G.TypeTemplate.Rows.Get<string>((uint)type, C.TypeTemplate.Name)}"); } return(ratioSigner.First().Worker); }
public IEnumerable <RatioSigner> Find(int ym, data.ETypeTemplate type, string list = null) { return(getQuerryResult($"int ym={ym}|type={type}|List={(list ?? "null")}", (table) => { var query = makeRangePeriod(table.QUERRY().SHOW.WHERE, ym, C.RatioSigner.Worker, new int[] { C.Worker.YMFrom }, C.RatioSigner.Worker, new int[] { C.Worker.YMTo }); query.AND.C(C.RatioSigner.TypeTemplate, (uint)type); if (list != null) { query.AND.C(C.RatioSigner.List, list); } query.DO(); table.Sort(C.RatioSigner.Position); var result = getModels(table); result = result.OrderBy(x => x.Position).ToArray(); return result; }, (result) => { var workers = LogicHelper.WorkerLogic.Find(ym); var dictionary = LogicHelper.WorkerLogic.GetDictionary(workers); foreach (var ratioSigner in result) { if (dictionary.ContainsKey(ratioSigner.WorkerID)) { var worker = dictionary[ratioSigner.WorkerID]; ratioSigner.Add(worker); } } })); }
public BasePrint(data.ETypeTemplate typeTemplate) { TemplateStorage = Template_Class.Get(typeTemplate); }