private void armaDetalleImpuestos(String taxschid) { using (EntitiesGP gp = new EntitiesGP(_DatosConexionDB.Elemento.EntityConnStr)) { var detalleImpuestosCompras = gp.vwImpuestosPlanYDetalle.Where(w => w.TXDTLTYP.Equals(2) && w.taxschid.Equals(taxschid)) .Select(s => new { s.TAXDTLID, s.TXDTLPCT }); foreach (var impuesto in detalleImpuestosCompras) { taPMTransactionTaxInsert_ItemsTaPMTransactionTaxInsert item = new taPMTransactionTaxInsert_ItemsTaPMTransactionTaxInsert(); item.VENDORID = facturaPm.VENDORID; item.VCHRNMBR = facturaPm.VCHNUMWK; item.DOCTYPE = facturaPm.DOCTYPE; item.BACHNUMB = facturaPm.BACHNUMB; item.TAXDTLID = impuesto.TAXDTLID; item.TAXAMNT = Decimal.Round((facturaPm.PRCHAMNT - facturaPm.TRDISAMT) * impuesto.TXDTLPCT / 100, 2); item.TDTTXPUR = facturaPm.PRCHAMNT - facturaPm.TRDISAMT; item.TXDTTPUR = facturaPm.PRCHAMNT - facturaPm.TRDISAMT; taxDetails.Add(item); } } }
/// <summary> /// Set values for each tax class /// </summary> /// <param name="tax"></param> /// <param name="VCHRNUMBER"></param> /// <returns></returns> private taPMTransactionTaxInsert_ItemsTaPMTransactionTaxInsert[] SetTaxValues(PMTransactionTax[] tax, string VCHRNUMBER) { int index = 0; try { taPMTransactionTaxInsert_ItemsTaPMTransactionTaxInsert[] TransactionTaxes = new taPMTransactionTaxInsert_ItemsTaPMTransactionTaxInsert[tax.Length]; foreach (PMTransactionTax taxes in tax) { var TransactionTax = new taPMTransactionTaxInsert_ItemsTaPMTransactionTaxInsert { VENDORID = taxes.VENDORID, VCHRNMBR = VCHRNUMBER, DOCTYPE = taxes.DOCTYPE, BACHNUMB = taxes.BACHNUMB, TAXDTLID = taxes.TAXDTLID, TAXAMNT = taxes.TAXAMNT, PCTAXAMT = taxes.PCTAXAMT, FRTTXAMT = taxes.FRTTXAMT, MSCTXAMT = taxes.MSCTXAMT, TDTTXPUR = taxes.TDTTXPUR, ACTINDX = taxes.ACTINDX, ACTNUMST = taxes.ACTNUMST, RequesterTrx = taxes.RequesterTrx.GetValueOrDefault() }; TransactionTaxes[index] = TransactionTax; index++; } return(TransactionTaxes); } catch (Exception) { throw; } }