/// <summary> /// Расчитываем отчет /// </summary> private void RenderReport(MultiPsSelectedArgs args) { BusinessObjectHelper.BuildBusinessObjectsParams(_businessObjectName, args); LayoutGrid.RunAsync(() => { string result = string.Empty; try { var errs = new StringBuilder(); result = StimulReportsProcedures.RenderReport(_xml, errs, args, Manager.Config.TimeZone); if (errs.Length > 0) { Manager.UI.ShowMessage(errs.ToString()); } } catch (Exception ex) { Manager.UI.ShowMessage(ex.Message); } return(result); }, rendered => { if (string.IsNullOrEmpty(rendered) || rendered.Length <= 2) { return; } _businessObjectName = string.Empty; _xml = null; try { DesignerControl.ApplyRenderedReport(rendered); } catch (Exception ex) { Manager.UI.ShowMessage(ex.Message); } }); }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { var propVal = value as string; if (propVal != null) { if (propVal == string.Empty) { return("<Объекты не соответствуют типу отчета!>"); } MultiPsSelectedArgs args = null; try { args = propVal.DeserializeFromString <MultiPsSelectedArgs>(); } catch (Exception ex) { } if (args == null) { return("<Ошибка десериализации>"); } var pss = args.PSList; if (pss != null && pss.Count > 0) { var n = new StringBuilder(); foreach (var id in pss.Take(3)) { if (id.ID == -1) { n.Append("<Все >"); break; } var hierObject = id.ToHierarchyObject(); if (hierObject == null) { continue; } n.Append(hierObject.Name).Append(", "); if (n.Length > 400) { break; } } if (n.Length > 2) { n.Remove(n.Length - 2, 1); } if (pss.Count > 3) { n.Append("..."); } return(n.ToString()); } //Manager.UI.ShowMessage("Выберите объекты!"); return("< Объекты не выбраны >"); } return(""); }