private static Afip.Wsfev1.FECAEDetRequest ObtenerDetalle(AfipObtenerCAERequest CAErequest) { Afip.Wsfev1.FECAEDetRequest request = new Afip.Wsfev1.FECAEDetRequest(); request.Concepto = CONCEPTO; request.DocTipo = ObtenerTipoDocumento(CAErequest.CondicionIVA); request.DocNro = long.Parse(CAErequest.Cuit); request.CbteDesde = ObtenerNumeroComprobante(CAErequest.CondicionIVA, CAErequest.TipoDocumentoFiscal, CAErequest.PasswordCertificado, CAErequest.RutaCertificado); request.CbtesAsoc = ObtenerComprobanteAsociado(CAErequest.CondicionIVA, CAErequest.TipoDocumentoFiscal, CAErequest.PuntoVentaOrigen, CAErequest.NumeroFacturaOrigen); request.CbteHasta = request.CbteDesde; request.CbteFch = DateTime.Now.ToString("yyyyMMdd"); request.MonId = PESOS; request.MonCotiz = PESOS_COTIZACION; request.ImpTotConc = 0; //Importe total no grabado request.ImpNeto = (double)Monto.Redondeo(CAErequest.ImporteNeto); //Importe total neto request.ImpOpEx = 0; //Importe total excento request.ImpTrib = 0; //Importe total tributo AgregarAlicutaIva(CAErequest.AlicuotasIva, request); request.ImpTotal = request.ImpTotConc + request.ImpNeto + request.ImpOpEx + request.ImpIVA + request.ImpTrib; return(request); }
private static void AgregarAlicutaIva(List <AfipAlicuotaIvaRequest> alicuotaIva, Afip.Wsfev1.FECAEDetRequest request) { if (CONDICION_IVA == CondicionIVA.Monotributo) { request.ImpIVA = 0; } else { request.Iva = alicuotaIva.Select(x => new Afip.Wsfev1.AlicIva() { Id = x.Codigo, BaseImp = (double)Monto.Redondeo(x.Monto), Importe = (double)Monto.Redondeo(x.IvaMonto) }).ToArray(); request.ImpIVA = request.Iva.Sum(x => x.Importe); } }