public void CreateReg() { var td = new Doc.Odf.TextDocument();//FlowEnvir.Config.PersonalSetting.RegTemplate.Data); OdtProcessor op = new OdtProcessor(td); Dictionary <string, object> elements = new Dictionary <string, object>(StringComparer.Ordinal); DocumentWork firstDoc = (DocumentWork)listDocuments.ListSource[0]; DateTime dt = DateTime.Now; var nodes = listUsers.Nodes.GetChecked().ToList(); elements.Add("Номер", firstDoc.Id); elements.Add("ДатаОтправки", dt.ToString("D", Locale.Instance.Culture)); string departs = ""; foreach (TableItemNode ss in nodes) { departs += ((User)ss.Item).Department.Name + "; "; } elements.Add("Департамент", departs); elements.Add("ВсегоДокументов", listDocuments.ListSource.Count); elements.Add("Отправитель", GuiEnvironment.User.ToString()); string users = ""; foreach (TableItemNode ss in nodes) { users += ((User)ss.Item).Name + "; "; } elements.Add("Получатель", users); var subparam = new Dictionary <string, object>(StringComparer.Ordinal); var param = new List <Dictionary <string, object> >(); foreach (DocumentWork row in (IEnumerable)listDocuments.ListSource) { subparam = new Dictionary <string, object>(StringComparer.Ordinal) { { "numberio", row.Document["INOUTNUM"] }, { "number", row.Document.PrimaryCode } }; //subparam.Add (row.Description); param.Add(subparam); } elements.Add("Документы", param); op.PerformReplace(elements); string filename = Path.Combine(Helper.GetDirectory(Environment.SpecialFolder.LocalApplicationData), "Reg" + firstDoc.Id + ".odt"); td.Save(filename); //System.Diagnostics.Process p = Process.Start(filename); }
internal static ToolMenuItem InitWork(DocumentWork d, EventHandler clickHandler) { return(new ToolMenuItem(clickHandler) { Tag = d, Name = d.Id.ToString(), Text = string.Format("{0}-{1}", d.Stage, d.User) }); }
public static async Task <Command> Send(Widget widget, IEnumerable <Document> documnets, DocumentWork work, Stage stage, User user) { var sender = new DocumentSender(); sender.Localize(); sender.Initialize(documnets.ToList()); // sender.Hidden += SenderSendComplete; if (stage != null && user != null) { sender.Send(stage, user, DocumentSendType.Next); } return(await sender.ShowAsync(widget, Point.Zero)); }