Exemple #1
0
 private void butOK_Click(object sender, EventArgs e)
 {
     try
     {
         if (CodeReport.Text.IsEmpty())
         {
             Different.MessageError("Не указан код отчета");
             return;
         }
         if (FileReport.Text.IsEmpty() || (new FileInfo(FileReport.Text).Extension != ".xlsx"))
         {
             Different.MessageError("Указан недопустимый файл отчета");
             return;
         }
         using (var rec = new ReaderAdo(General.ReporterFile, "SELECT Report FROM Reports WHERE Report='" + CodeReport.Text + "'"))
             if (rec.HasRows() && !Different.MessageQuestion("Отчет с кодом " + CodeReport.Text + " уже существует. Заменить на новый?"))
             {
                 return;
             }
         var fnew = new FileInfo(FileReport.Text);
         if (fnew.Exists && !Different.MessageQuestion("Файл " + FileReport.Text + " уже существует. Заменить на новый?"))
         {
             return;
         }
         try
         {
             new FileInfo(General.ReporterDir + "ReportTemplate.xlsx").CopyTo(FileReport.Text, true);
             GeneralRep.Application.Workbooks.Open(FileReport.Text);
             var sys = new SysPage(GeneralRep.Application.ActiveWorkbook);
             sys.PutValue("Report", CodeReport.Text);
             sys.PutValue("ReportName", NameReport.Text);
             sys.PutValue("ReportDescription", DescriptionReport.Text);
             sys.PutValue("DifferentLength", "True");
             sys.PutValue("SaveToArchive", "True");
             GeneralRep.Application.ActiveWorkbook.Save();
         }
         catch (Exception ex)
         {
             ex.MessageError("Ошибка создания файла, возможно файл уже существует");
         }
         Close();
         GeneralRep.ChangeActiveBook();
         var f = GeneralRep.RunReporterCommand(ReporterCommand.Setup);
         ((TabControl)f.Controls["tabMain"]).SelectTab("tabReport");
     }
     catch (Exception ex)
     {
         GeneralRep.ShowError("Ошибка при создании отчета", ex);
     }
 }
Exemple #2
0
        //Изменяет текущий тип ссылки
        public void GetLinkType(string linkType)
        {
            if (linkType.IsEmpty() || CurLinkType == linkType)
            {
                return;
            }
            var f = (FormPutLinks)Forms[ReporterCommand.PutLinks];
            var p = Forms.ContainsKey(ReporterCommand.LinkProperties) ? ((FormLinkProperties)Forms[ReporterCommand.LinkProperties]).PropsPanel : null;

            if (p != null)
            {
                string s = p.PropsString();
                if (p.LinkPropsError.IsEmpty())
                {
                    SysPage.PutValue(CurLinkType, s);
                }
            }
            CurLinkType  = linkType;
            CurLinkProps = SysPage.GetValue(linkType);
            if (f.CellLinkType.Text != CurLinkType)
            {
                f.CellLinkType.Text = CurLinkType;
            }
            if (p != null && p.CellLinkType.Text != CurLinkType)
            {
                //p.PropsFromDic(CurLinkProps.ToPropertyDictionary());
                p.CellLinkType.Text = CurLinkType;
            }
        }
Exemple #3
0
        //Обновление на одну версию
        private void UpdateVersion(VersionSynch.Version curver, string version, string versionDate, System.Action action)
        {
            var newver = new VersionSynch.Version(version, versionDate);

            if (curver < newver)
            {
                action();
                SysPage.PutValue("Version", newver.ToString());
                SysPage.PutValue("VersionDate", newver.Date);
            }
        }
Exemple #4
0
        //Вызывается при закрытии заданной формы form, close - закрывать форму прямо здесь в процедуре
        public void CloseForm(ReporterCommand form, bool close = false)
        {
            if (Forms.ContainsKey(form))
            {
                var fform = Forms[form];
                Forms.Remove(form);
                var list = (from f in Forms where f.Key.IsChildOf(form) select f.Key).ToList();
                foreach (var ff in list)
                {
                    CloseForm(ff, true);
                }
                using (StartAtom("Закрытие формы " + form))
                {
                    try
                    {
                        if (close)
                        {
                            fform.Close();
                        }
                        switch (form)
                        {
                        case ReporterCommand.PutLinks:
                            UpdateDataFile(false, true);
                            Workbook.Save();
                            break;

                        case ReporterCommand.Setup:
                            SysPage.PutValue("LastSetup", DateTime.Now.ToString());
                            Workbook.Save();
                            UpdateDataFile(true);
                            LoadSetup();
                            break;

                        case ReporterCommand.AbsoluteEdit:
                            AddEvent("Запись абсолютных значений в архив");
                            foreach (var project in UsedProjects.Values)
                            {
                                project.Archive.WriteAbsoluteEdit(project.AbsoluteEditValues.Values.Where(hip => !hip.Value.IsEmpty()).ToList());
                            }
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        AddError("Ошибка при закрытии формы", ex, form.ToString());
                    }
                }
            }
        }
Exemple #5
0
        //Загружает свойства из выделенной ячейки
        public void GetLinkProps(Dictionary <string, string> props)
        {
            var    f   = (FormPutLinks)Forms[ReporterCommand.PutLinks];
            var    p   = Forms.ContainsKey(ReporterCommand.LinkProperties) ? ((FormLinkProperties)Forms[ReporterCommand.LinkProperties]).PropsPanel : null;
            var    dic = props.Where(t => t.Key != "Project" && t.Key != "Code" && t.Key != "Field" && t.Key != "CellComment").ToDictionary(t => t.Key, t => t.Value);
            string lt  = dic["LinkType"].ToLinkType().ToRussian();

            if (CurLinkType != lt)
            {
                string s = CurLinkProps;
                if (p != null)
                {
                    string ss = p.PropsString();
                    if (p.LinkPropsError.IsEmpty())
                    {
                        s = ss;
                    }
                }
                SysPage.PutValue(CurLinkType, s);
                CurLinkType = lt;
            }
            CurLinkProps = dic.ToPropertyString();
            if (f.CellLinkType.Text != CurLinkType)
            {
                f.CellLinkType.Text = CurLinkType;
            }
            if (f.CellComment.Text != dic.Get("CellComment"))
            {
                f.CellComment.Text = dic.Get("CellComment");
            }
            if (p != null)
            {
                if (p.CellLinkType.Text != CurLinkType)
                {
                    p.CellLinkType.Text = CurLinkType;
                }
                p.PropsFromDic(dic);
            }
        }