private void PAF_Preenche_TITP() { var itemIndex = 0; var insumosCount = PafTitp.Mercadorias.Sum(s => s.Insumos.Count); var mercadoriasRec = new ACBrPAFInterop.RegistroMercadoriasRec[PafTitp.Mercadorias.Count]; var insumosRec = new ACBrPAFInterop.RegistroInsumosRec[insumosCount]; for (var i = 0; i < PafTitp.Mercadorias.Count; i++) { mercadoriasRec[i].Descricao = ToUTF8(PafTitp.Mercadorias[i].Descricao); mercadoriasRec[i].Codigo = ToUTF8(PafTitp.Mercadorias[i].Codigo); mercadoriasRec[i].Aliquota = Convert.ToDouble(PafTitp.Mercadorias[i].Aliquota); mercadoriasRec[i].Unidade = ToUTF8(PafTitp.Mercadorias[i].Unidade); mercadoriasRec[i].Quantidade = Convert.ToDouble(PafTitp.Mercadorias[i].Quantidade); mercadoriasRec[i].Ean = ToUTF8(PafTitp.Mercadorias[i].Ean); mercadoriasRec[i].CST = ToUTF8(PafTitp.Mercadorias[i].CST); mercadoriasRec[i].VlrUnitario = Convert.ToDouble(PafTitp.Mercadorias[i].VlrUnitario); mercadoriasRec[i].QTD_Insumos = PafTitp.Mercadorias[i].Insumos.Count; foreach (ACBrPAFRegistroInsumo insumo in PafTitp.Mercadorias[i].Insumos) { insumosRec[itemIndex].Descricao = ToUTF8(insumo.Descricao); insumosRec[itemIndex].Codigo = ToUTF8(insumo.Codigo); insumosRec[itemIndex].Aliquota = Convert.ToDouble(insumo.Aliquota); insumosRec[itemIndex].Unidade = ToUTF8(insumo.Unidade); insumosRec[itemIndex].Quantidade = Convert.ToDouble(insumo.Quantidade); insumosRec[itemIndex].Ean = ToUTF8(insumo.Ean); insumosRec[itemIndex].CST = ToUTF8(insumo.CST); insumosRec[itemIndex].VlrUnitario = Convert.ToDouble(insumo.VlrUnitario); itemIndex++; } } var ret = ACBrPAFInterop.PAF_Preenche_TITP(this.Handle, mercadoriasRec, PafTitp.Mercadorias.Count, insumosRec, PafTitp.Titulo.ToUTF8(), PafTitp.Data.ToOADate()); CheckResult(ret); }