/* * String[] LRC = new String[] {"TO", "TR", "TU", "TW", * "TX", "V", "VL", "VX", "W3", "W4", "XE", "XR", "WL", "X3", "XA", "XC", "XJ", "XT", * "XU", "CB", "CC", "W6", "XF", "XG", "XN"}; */ public void CreateFiles() { //Create WR files with Data from SQL and assumptions from last year WinRes WR = new WinRes(); FileTriangleInfo fti; FileHeaderInfo fhi; WinResFileBuilder fb; DataTable TriangleData = new DataTable(); Double[,] TriangleDouble; for (Int16 j = 0; j < 8; j++) { //fti = WR.Files.CreateTriangleInfo(1997, 1, 2019, 1, PeriodLength.Year, PeriodLength.Quarter, 1, 3, 2019, 3); fti = WR.Files.CreateTriangleInfo(1997, 1, 2018, 1, PeriodLength.Year, PeriodLength.Quarter, 1, 12, 2018, 3); //fhi = WR.Files.CreateHeaderInfo(fti, "LRC BM", LRC[j], "GBP", 1000, 1000, OriginPeriodType.UnderwritingPeriod); //fhi = WR.Files.CreateHeaderInfo(fti, "LRC BM", newLRC[j], "GBP", 1000, 1000, OriginPeriodType.UnderwritingPeriod); fhi = WR.Files.CreateHeaderInfo(fti, "LRC BM", "E9", "GBP", 1000, 1000, OriginPeriodType.UnderwritingPeriod); fb = WR.Files.CreateFileBuilder(fhi); for (Int16 i = 0; i < 18; i++) { //TriangleData = GetTriangle(CCY[i], LRC[j], SQLDataType[i]); TriangleData = GetTriangle(CCY[i], newLRC[j], SQLDataType[i]); TriangleDouble = ReadTriangleData(TriangleData, fti.OriginPeriods.Count, fti.DevPeriods.Count); fb.ComponentTriangles.AddByName(WRDataType[i], WROperator[i], WRDesc[i], ref TriangleDouble, true); TriangleDouble = null; TriangleData = null; } WinResFile newFile; //newFile = WR.Files.CreateFileFromFileBuilderWithAssumptions(fb, @"U:\Reserving\LRC\2018 WRs\" + LRC[j] + @".pjx"); newFile = WR.Files.CreateFileFromFileBuilder(fb); //newFile.SaveAs(@"U:\Reserving\LRC\" + LRC[j] + @".pjx", true); newFile.SaveAs(@"U:\Actuary\Planning\2019\LRC\" + newLRC[j] + @".pjx", true); fb = null; fhi = null; fti = null; } }
public void RefreshWR(String LRC) { WinRes WR = new WinRes(); WinResFile WRFile = WR.Files.Open(@"U:\Actuary\Planning\2019\LRC\new LRC 2019\" + LRC + @".pjx"); //WinResFile WRFile = WR.Files.Open(@"U:\Actuary\Planning\2019\LRC\review LRC 2019\" + LRC + @".pjx"); SelectedUltimate sel = null; //write array to worksheet Excel.Application myApp = Globals.ThisAddIn.Application; Excel.Workbook myWkbk = myApp.ActiveWorkbook; Excel.Worksheet templateWksht = myWkbk.Sheets["Template"]; int WkshtIndex = templateWksht.Index; MessageBox.Show(WkshtIndex.ToString()); templateWksht.Copy(templateWksht); Excel.Worksheet mySheet = myWkbk.Worksheets[WkshtIndex]; mySheet.Name = LRC; mySheet.Range["B1"].Value2 = LRC; Excel.Range myRng = mySheet.Range["B6"]; WRFile.SelectedUltimates.TryGet("Premium", out sel); for (Int16 intUWY = 0; intUWY < 22; intUWY++) { myRng.Offset[intUWY, 0].Value = sel[intUWY]; } sel = null; WRFile.SelectedUltimates.TryGet("Claim", out sel); for (Int16 intUWY = 0; intUWY < 22; intUWY++) { myRng.Offset[intUWY, 2].Value = sel[intUWY]; } sel = null; for (Int16 intUWY = 0; intUWY < 22; intUWY++) { myRng.Offset[intUWY, 1].Value = WRFile.AnalysedTriangles["Incurred"].LeadingDiagonal[intUWY]; } WR.Files.Remove(WRFile); WR = null; }
public void ImportChainLadderProfiles() { WinRes WR = new WinRes(); WinResFile WRFile = WR.Files.Open(@"U:\Actuary\Planning\2018\Analysis\WinRes Files\LRC BM\Finalized Models\6T.pjx"); ChainLadderMethod CLMethod; IProjectionMethod projMethod = null; Double[] DevFactors; Excel.Application myApp = Globals.ThisAddIn.Application; Excel.Workbook myWkbk = myApp.ActiveWorkbook; Excel.Worksheet myWksht = myWkbk.ActiveSheet; Excel.Range myRng = myWksht.Range["A1"]; projMethod = WRFile.ProjectionMethods["Premiumcl"]; CLMethod = (ChainLadderMethod)projMethod; DevFactors = CLMethod.SubModels[CLMethod.GetSelectedSubModelIndex(0)].GetFinalSelectedDevFactors(); Int32 numColumns = CLMethod.SubModels[CLMethod.GetSelectedSubModelIndex(0)].FinalFactorProviders[0].LastDevFactorIndex + 1; myRng.Resize[1, numColumns].Value = DevFactors; //String results = string.Join(",", DevFactors); //MessageBox.Show(results); }