Exemple #1
0
        public static HSSFWorkbook CycleInscrieri(CadSysContext context, string[] columnNames, string ruleSet)
        {
            var wbk = new HSSFWorkbook();

            var sheet = wbk.CreateSheet("Sheet 1");

            var validatorInscriereDetaliu = new InscriereDetaliuValidator();

            var validatorInscriereAct = new InscriereActValidator();

            var validatorInscriereProprietar = new InscriereProprietarValidator();

            var validatorInscriereImobil = new InscriereImobilValidator();

            var header = sheet.CreateRow(0);

            for (var i = 0; i < columnNames.Length; i++)
            {
                var cell = header.CreateCell(i);
                cell.SetCellValue(columnNames[i]);
            }

            foreach (var x in context.InscrieriDetaliu
                     .Include(y => y.InscrieriActe)
                     .ThenInclude(z => z.ActProprietate)
                     .Include(y => y.InscrieriImobile)
                     .ThenInclude(z => z.Imobil)
                     .ThenInclude(i => i.Parcele)
                     .Include(y => y.InscrieriProprietari)
                     .ThenInclude(z => z.Proprietar))
            {
                ExportInscrieri(sheet, columnNames, x, validatorInscriereDetaliu, validatorInscriereAct, validatorInscriereImobil, validatorInscriereProprietar, ruleSet);
            }

            return(wbk);
        }
Exemple #2
0
        static void ExportInscrieri(ISheet sheet, string[] columnNames, InscriereDetaliu inscriereD, InscriereDetaliuValidator iDValidator, InscriereActValidator iActValidator, InscriereImobilValidator iImobilValidator, InscriereProprietarValidator iPropValidator, string ruleSet)
        {
            var xPorts = new List <OutputInscriereDetaliu>();

            xPorts.FromPOCO(inscriereD);

            xPorts.ForEach(excelDTO =>
            {
                var row = sheet.CreateRow(excelDTO.RowIndex);

                if (excelDTO.IndexAct.HasValue)
                {
                    var inscriereAct = inscriereD.InscrieriActe.FirstOrDefault(y => y.Index == excelDTO.IndexAct.Value);
                    if (inscriereAct != null)
                    {
                        writeRow(row, columnNames, excelDTO, true, iActValidator.Validate(inscriereAct, ruleSet: ruleSet));
                    }
                }

                if (excelDTO.IndexParcela.HasValue)
                {
                    var inscriereParcela = inscriereD.InscrieriImobile.FirstOrDefault(y => y.Index == excelDTO.IndexParcela.Value);
                    if (inscriereParcela != null)
                    {
                        writeRow(row, columnNames, excelDTO, true, iImobilValidator.Validate(inscriereParcela, ruleSet: ruleSet));
                    }
                }

                if (excelDTO.IndexProprietar.HasValue)
                {
                    var inscriereProprietar = inscriereD.InscrieriProprietari.FirstOrDefault(y => y.Index == excelDTO.IndexProprietar.Value);
                    if (inscriereProprietar != null)
                    {
                        writeRow(row, columnNames, excelDTO, true, iPropValidator.Validate(inscriereProprietar, ruleSet: ruleSet));
                    }
                }
            });

            //validarea de Inscriere Detaliu

            var anotherRow = sheet.GetRow(inscriereD.ExcelRow) ?? sheet.CreateRow(inscriereD.ExcelRow);

            writeRow(anotherRow, columnNames, null, false, iDValidator.Validate(inscriereD, ruleSet: ruleSet));


            //lista de outputinscriereD trecuta printr-un writerow special care sa ia inscrierile de la fiecare dintre cei 3 indecsi, sa le valideze obiectele si sa le scrie in icselß
        }