Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }