Ejemplo n.º 1
0
        public string CreateChecklist(ChecklistData checklistData, bool printIt)
        {
            var         template = Path.Combine(this.CreateTemplatePath(), checklistData.VorlagenDatei);
            Application word     = null;

            try
            {
                word = new Application();
                word.DisplayAlerts = WdAlertLevel.wdAlertsNone;
                var newDoc = word.Documents.Add(template);

                foreach (var control in newDoc.SelectContentControlsByTag("Technician"))
                {
                    control.Range.Text = checklistData.TechnikerName;
                }

                foreach (var control in newDoc.SelectContentControlsByTag("ChecklistDate"))
                {
                    control.Range.Text = checklistData.ChecklistenDatum.ToShortDateString();
                }

                foreach (var control in newDoc.SelectContentControlsByTag("CustomerAndCustomerId"))
                {
                    control.Range.Text = $"{checklistData.FirmenBezeichnung} [{checklistData.KundenNummer}]";
                }

                foreach (var control in newDoc.SelectContentControlsByTag("MachineModelAndSN"))
                {
                    control.Range.Text = $"{checklistData.Maschinenmodell} [{checklistData.SeriennummerMaschine}]";
                }

                foreach (var control in newDoc.SelectContentControlsByTag("AuftragsnummerInSage"))
                {
                    control.Range.Text = checklistData.AuftragsNummerSage;
                }

                foreach (var control in newDoc.SelectContentControlsByTag("InkType"))
                {
                    control.Range.Text = checklistData.Tintentyp;
                }

                foreach (var control in newDoc.SelectContentControlsByTag("ColorSet"))
                {
                    control.Range.Text = checklistData.Farbset;
                }

                foreach (var control in newDoc.SelectContentControlsByTag("FirmwareCurrent"))
                {
                    control.Range.Text = checklistData.AktuelleFirmware;
                }

                var fileName = $"{checklistData.Maschinenmodell}_{checklistData.SeriennummerMaschine}_InstallationsCheckliste.docx";
                var nameFull = Path.Combine(checklistData.Dateipfad, fileName);

                newDoc.SaveAs(nameFull);
                if (printIt)
                {
                    newDoc.PrintOut();
                }

                return(nameFull);
            }
            finally
            {
                if (word != null)
                {
                    word.Quit(); word.Dispose();
                }
            }
        }
        private string FormatChecklistRow(ChecklistData item, int i, ChecklistReportRankDepth?depth)
        {
            string result = "";

            switch (item.Type.ToLower())
            {
            case "is":
                result = "incertae sedis ";
                break;

            case "si":
                result = "Species inquirenda ";
                break;

            default:
                switch (item.RankCategory.ToLower())
                {
                case "g":
                case "s":
                    if (item.Verified)
                    {
                        result = string.Format(@"\i {0} \i0 ", UnItalicize(item.DisplayName, "subsp.|var.|sub.var.|form |sub.form "));
                    }
                    else
                    {
                        result = item.DisplayName;
                    }
                    break;

                default:
                    result = item.DisplayName;
                    break;
                }

                // Add the rank if necessary...
                if (depth.HasValue)
                {
                    switch (item.RankCategory.ToLower())
                    {
                    case "h":
                    case "f":
                        result = item.Rank + " " + result;
                        break;

                    case "g":
                        if (depth == ChecklistReportRankDepth.Subgenus)
                        {
                            result = item.Rank + " " + result;
                        }
                        break;

                    default:
                        break;
                    }
                }
                break;
            }

            // Unitalicise the author/year component if applicable.
            if (!string.IsNullOrWhiteSpace(item.Author))
            {
                int index = result.IndexOf(item.Author);
                if (index >= 0)
                {
                    result = result.Substring(0, index - 1) + "\\i0 " + result.Substring(index - 1);
                }
            }

            return(result);
        }
 public ChecklistBusiness()
 {
     _checklistData      = new ChecklistData();
     _checklistNormaData = new ChecklistNormaData();
 }
Ejemplo n.º 4
0
        private string FormatChecklistRow(ChecklistData item, int i, ChecklistReportRankDepth? depth)
        {
            string result = "";
            switch (item.Type.ToLower()) {
                case "is":
                    result = "incertae sedis ";
                    break;
                case "si":
                    result = "Species inquirenda ";
                    break;
                default:
                    switch (item.RankCategory.ToLower()) {
                        case "g":
                        case "s":
                            if (item.Verified) {
                                result = string.Format(@"\i {0} \i0 ", UnItalicize(item.DisplayName, "subsp.|var.|sub.var.|form |sub.form "));
                            } else {
                                result = item.DisplayName;
                            }
                            break;
                        default:
                            result = item.DisplayName;
                            break;
                    }

                    // Add the rank if necessary...
                    if (depth.HasValue) {
                        switch (item.RankCategory.ToLower()) {
                            case "h":
                            case "f":
                                result = item.Rank + " " + result;
                                break;
                            case "g":
                                if (depth == ChecklistReportRankDepth.Subgenus) {
                                    result = item.Rank + " " + result;
                                }
                                break;
                            default:
                                break;
                        }
                    }
                    break;
            }

            // Unitalicise the author/year component if applicable.
            if (!string.IsNullOrWhiteSpace(item.Author)) {
                int index = result.IndexOf(item.Author);
                if (index >= 0) {
                    result = result.Substring(0, index - 1) + "\\i0 " + result.Substring(index - 1);
                }
            }

            return result;
        }