private void AddEntry(int index, RecordSearch rs) { table.Rows[index].Cells[1].Range.Text = rs.DateReceived.Value.ToShortDateString(); table.Rows[index].Cells[2].Range.Text = rs.GetFileNumberFormatted(); table.Rows[index].Cells[3].Range.Text = rs.ProjectName; table.Rows[index].Cells[4].Range.Text = rs.TotalFee.ToString(); table.Rows[index].Cells[4].Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight; table.Rows[index].Cells[5].Range.Text = rs.CheckNumber; table.Rows[index].Cells[5].Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight; table.Rows[index].Cells[5].Range.ParagraphFormat.LineSpacing = 16; }
private void AddEntry(RecordSearch record) { //Date Word.Paragraph dateHeader = document.Content.Paragraphs.Add(ref missing); dateHeader.Range.Paragraphs.SpaceAfter = 0; try { dateHeader.Range.Text = record.DateOfResponse.ToDateString() + "\n"; } catch { dateHeader.Range.Text = "Missing date of response."; dateHeader.Range.Font.Bold = 1; dateHeader.Range.Font.Color = Word.WdColor.wdColorDarkRed; _errorCount++; } dateHeader.Range.InsertParagraphAfter(); //Address, PEID, & Invoice # Word.Table iTable = document.Tables.Add(dateHeader.Range, 1, 3, ref missing, ref missing); iTable.AllowAutoFit = true; iTable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitWindow); iTable.Columns[1].PreferredWidthType = Word.WdPreferredWidthType.wdPreferredWidthPercent; iTable.Columns[1].PreferredWidth = 40; iTable.Columns[2].PreferredWidthType = Word.WdPreferredWidthType.wdPreferredWidthPercent; iTable.Columns[2].PreferredWidth = 30; //--Address if (record.BillingAddress.ValidateMinimalCompleteness()) { if (string.IsNullOrWhiteSpace(record.BillingAddress.AddressLine2)) { iTable.Rows[1].Cells[1].Range.Text = string.Format("{0}\r\n{1}\r\n{2}, {3} {4}", record.BillingAddress.AddressName, record.BillingAddress.AddressLine1, record.BillingAddress.City, record.BillingAddress.State, record.BillingAddress.ZIP); } else { iTable.Rows[1].Cells[1].Range.Text = string.Format("{0}\r\n{1}\r\n{2}\r\n{3}, {4} {5}", record.BillingAddress.AddressName, record.BillingAddress.AddressLine1, record.BillingAddress.AddressLine2, record.BillingAddress.City, record.BillingAddress.State, record.BillingAddress.ZIP); } } else { iTable.Rows[1].Cells[1].Range.Text = "Missing billing address information."; iTable.Rows[1].Cells[1].Range.Font.Bold = 1; iTable.Rows[1].Cells[1].Range.Font.Color = Word.WdColor.wdColorDarkRed; _errorCount++; } //--PEID if (!string.IsNullOrWhiteSpace(record.ClientModel.NewPEID)) { iTable.Rows[1].Cells[2].Range.Text = string.Format("PEID # " + record.ClientModel.NewPEID); } else if (!string.IsNullOrWhiteSpace(record.ClientModel.OldPEID)) { iTable.Rows[1].Cells[2].Range.Text = string.Format("PEID # " + record.ClientModel.OldPEID); } else { iTable.Rows[1].Cells[2].Range.Text = "Missing PEID."; iTable.Rows[1].Cells[2].Range.Font.Bold = 1; iTable.Rows[1].Cells[2].Range.Font.Color = Word.WdColor.wdColorDarkRed; _errorCount++; } iTable.Rows[1].Cells[2].Range.Bold = 1; iTable.Rows[1].Cells[2].Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight; //--Invoice # iTable.Rows[1].Cells[3].Range.Text = "Invoice #"; iTable.Rows[1].Cells[3].Range.Bold = 1; iTable.Range.InsertParagraphAfter(); //Person, Project Name, Requestor, IC File # Word.Paragraph projectInfo = document.Content.Paragraphs.Add(ref missing); string attentionTo; if (string.IsNullOrWhiteSpace(record.BillingAddress.AttentionTo)) { attentionTo = ""; } else { attentionTo = "\r\nATTN: " + record.BillingAddress.AttentionTo; } string fileNumber = "IC File # " + record.GetFileNumberFormatted(); if (string.IsNullOrWhiteSpace(record.Requestor.FirstName)) { projectInfo.Range.Text = string.Format("{0}\r\n>>\r\nRE: {1}; {2}\r\n>>", attentionTo, record.ProjectName, fileNumber); } else { projectInfo.Range.Text = string.Format("{0}\r\n>>\r\nRE: {1} (Requested By: {2} {3}); {4}\r\n>>", attentionTo, record.ProjectName, record.Requestor.FirstName, record.Requestor.LastName, fileNumber); } object startRange = projectInfo.Range.End - (fileNumber.Length + 4); object endRange = projectInfo.Range.End - 3; Word.Range toBold = document.Range(ref startRange, ref endRange); toBold.Bold = 1; projectInfo.Range.InsertParagraphAfter(); //Billing Info Word.Table bTable = document.Content.Tables.Add(projectInfo.Range, 1, 2, ref missing); bTable.AllowAutoFit = true; bTable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitWindow); bTable.Columns[1].PreferredWidthType = Word.WdPreferredWidthType.wdPreferredWidthPercent; bTable.Columns[1].PreferredWidth = 25; //--Total try { bTable.Rows[1].Cells[1].Range.Text = "Amount Due: $" + record.Fee.TotalProjectCost; } catch { bTable.Rows[1].Cells[1].Range.Text = "Missing PEID."; bTable.Rows[1].Cells[1].Range.Font.Bold = 1; bTable.Rows[1].Cells[1].Range.Font.Color = Word.WdColor.wdColorDarkRed; _errorCount++; } //--Fees & Surcharge string chargeInformation = ""; decimal runningTotal = 0; foreach (ICharge charge in record.Fee.Charges) { if (charge.TotalCost <= 0) { continue; } switch (charge.Type) { case "variable": VariableCharge vCharge = (VariableCharge)charge; chargeInformation += string.Format(" {0} - {1} {2} @ ${3} per {4}\n", vCharge.Name, vCharge.Count, vCharge.UnitNamePlural, vCharge.Cost, vCharge.UnitName); runningTotal += vCharge.TotalCost; break; case "boolean": BooleanCharge bCharge = (BooleanCharge)charge; chargeInformation += string.Format(" {0} - ${1}\n", bCharge.Name, bCharge.TotalCost); runningTotal += bCharge.TotalCost; break; case "categorical": CategoricalCharge cCharge = (CategoricalCharge)charge; chargeInformation += string.Format(" {0} - {1} {2} - ${3}\n", cCharge.Name, cCharge.Count, cCharge.UnitNamePlural, cCharge.TotalCost); runningTotal += cCharge.TotalCost; break; default: break; } } string surcharge = ""; if (record.Fee.IsPriority) { surcharge += " Priority Surcharge Fee: $" + (record.Fee.TotalProjectCost - runningTotal) + "\n"; } if (record.Fee.IsEmergency) { surcharge += " Emergency Surcharge Fee: $" + record.Fee.TotalProjectCost + "\n"; } bTable.Rows[1].Cells[2].Range.Text = "Information\n" + chargeInformation + surcharge + "Please include the invoice number on your remittance"; bTable.Range.InsertParagraphAfter(); //Finish with line InsertLine(); }