public static void SetYearRecord(this AcroFields fields, CardOrder order, YearRecord yearRecord) { if (yearRecord.Gender.HasValue) { fields.SetField("Check Box1", yearRecord.Gender == Genders.Male ? "Yes" : "0"); fields.SetField("Check Box2", yearRecord.Gender == Genders.Female ? "Yes" : "0"); } //fields.SetFieldProperty("Text" + (initIndex + 3), "textsize", 8f, null); fields.SetField("Name", yearRecord.Name + (!string.IsNullOrEmpty(yearRecord.Number) ? $"(#{yearRecord.Number})" : string.Empty)); //fields.SetFieldProperty("Text" + (initIndex + 4), "textsize", 8f, null); //fields.SetField("Text" + (initIndex + 4), yearRecord.HomeAddress); //fields.SetFieldProperty("Text" + (initIndex + 5), "textsize", 8f, null); //fields.SetField("Text" + (initIndex + 5), yearRecord.HomeTelephone); //fields.SetFieldProperty("Text" + (initIndex + 6), "textsize", 8f, null); //fields.SetField("Text" + (initIndex + 6), yearRecord.MobileTelephone); //fields.SetFieldProperty("Text" + (initIndex + 7), "textsize", 8f, null); fields.SetField("Date of birth", yearRecord.DateOfBirth?.ToString("yyyy -MM-dd")); //fields.SetFieldProperty("Text" + (initIndex + 8), "textsize", 8f, null); fields.SetField("Date immersed", yearRecord.ImmersedDate?.ToString("yyyy -MM-dd")); fields.SetField("Check Box3", !yearRecord.Anointed ? "Yes" : "0"); fields.SetField("Check Box4", yearRecord.Anointed ? "Yes" : "0"); fields.SetField("Check Box5", yearRecord.E ? "Yes" : "0"); fields.SetField("Check Box6", yearRecord.MS ? "Yes" : "0"); fields.SetField("Check Box7", yearRecord.RP ? "Yes" : "0"); //fields.SetFieldProperty("Text" + (initIndex + 12) + ".01", "textsize", 8f, null); fields.SetField(order == CardOrder.First ? "Service Year" : "Service Year_2", yearRecord.Year.ToString()); foreach (var report in yearRecord.Reports.OrderBy(r => r.Month)) { fields.SetMonthReport(order, report); } fields.SetTotalReport(formNumber, yearRecord.Totals); }
static YearRecord getYearRecord(ExcelWorksheet worksheet, int row) { YearRecord rv = null; //FileInfo file = new FileInfo(@"C:\Users\zeqk\Desktop\TEMP\Actividad.xlsx"); try { if ((string)worksheet.Cells[row, 1].Value != "TOTAL") { rv = new YearRecord(); rv.Name = (string)worksheet.Cells[row, 1].Value; rv.Gender = (string)worksheet.Cells[row, 117].Value == "F" ? Genders.Female : Genders.Male; rv.DateOfBirth = worksheet.Cells[row, 118].GetValue <DateTime>(); rv.ImmersedDate = worksheet.Cells[row, 119].GetValue <DateTime>(); rv.Anointed = (string)worksheet.Cells[row, 120].Value == "SI"; rv.E = (string)worksheet.Cells[row, 121].Value == "SI"; rv.MS = (string)worksheet.Cells[row, 122].Value == "SI"; rv.RP = (string)worksheet.Cells[row, 123].Value == "SI"; for (int i = 1; i < 12; i++) { var columnIndex = 1; //Primera columna (Nombre) if (i > 1) { columnIndex = (9 * (i - 1)) + 1; } columnIndex++; //if (worksheet.Cells[row, columnIndex + 3] != null && worksheet.Cells[row, columnIndex + 3].Value != null) //{ var type = PublisherTypes.Publisher; switch (worksheet.Cells[row, columnIndex + 0].GetValue <string>()) { case "PR": type = PublisherTypes.RegularPioneer; break; case "PA": type = PublisherTypes.AuxiliarPioneer; break; case "PUB": default: type = PublisherTypes.Publisher; break; } rv.Reports.Add(new MonthReport { Type = type, Placements = worksheet.Cells[row, columnIndex + 1].GetValue <int>(), VideoShowings = worksheet.Cells[row, columnIndex + 2].GetValue <int>(), Hours = worksheet.Cells[row, columnIndex + 3].GetValue <int>(), ReturnVisits = worksheet.Cells[row, columnIndex + 4].GetValue <int>(), Studies = worksheet.Cells[row, columnIndex + 5].GetValue <int>(), Month = i, Remarks = (type == PublisherTypes.AuxiliarPioneer ? "PA" : string.Empty) + " " + (worksheet.Cells[row, columnIndex + 1].Comment != null ? worksheet.Cells[row, columnIndex + 1].Comment.Text : string.Empty) }); //} //else // break; } rv.Totals = new MonthReport { Placements = rv.Reports.Sum(r => r.Placements), VideoShowings = rv.Reports.Sum(r => r.VideoShowings), Hours = rv.Reports.Sum(r => r.Hours), ReturnVisits = rv.Reports.Sum(r => r.ReturnVisits) }; } } catch (Exception ex) { Console.WriteLine(ex.Message); } return(rv); }
static YearRecord getTotals(IList <YearRecord> records, PublisherTypes type) { var rv = new YearRecord() { Anointed = false, DateOfBirth = null, E = false, Gender = null, HomeAddress = string.Empty, HomeTelephone = string.Empty, ImmersedDate = null, MobileTelephone = string.Empty, MS = false, Number = null, RP = false, Year = records.FirstOrDefault().Year }; switch (type) { case PublisherTypes.RegularPioneer: rv.Name = "PRECURSORES REGULARES"; break; case PublisherTypes.AuxiliarPioneer: rv.Name = "PRECURSORES AUXILIARES"; break; case PublisherTypes.Publisher: default: rv.Name = "PUBLICADORES"; break; } var monthsCount = records.Max(r => r.Reports.Count); //del 1 al 12 for (int month = 1; month <= monthsCount; month++) { var monthReport = new MonthReport { Month = month, Placements = records.Sum(yr => yr.Reports.Where(mr => mr.Month == month && mr.Type == type).Sum(mr => mr.Placements)), VideoShowings = records.Sum(yr => yr.Reports.Where(mr => mr.Month == month && mr.Type == type).Sum(mr => mr.VideoShowings)), Hours = records.Sum(yr => yr.Reports.Where(mr => mr.Month == month && mr.Type == type).Sum(mr => mr.Hours)), ReturnVisits = records.Sum(yr => yr.Reports.Where(mr => mr.Month == month && mr.Type == type).Sum(mr => mr.ReturnVisits)), Studies = records.Sum(yr => yr.Reports.Where(mr => mr.Month == month && mr.Type == type).Sum(mr => mr.Studies)), Remarks = records.SelectMany(yr => yr.Reports).Count(mr => mr.Month == month && mr.Type == type).ToString() }; rv.Reports.Add(monthReport); } rv.Totals = new MonthReport { Placements = rv.Reports.Sum(r => r.Placements), VideoShowings = rv.Reports.Sum(r => r.VideoShowings), Hours = rv.Reports.Sum(r => r.Hours), ReturnVisits = rv.Reports.Sum(r => r.ReturnVisits) }; return(rv); }