public async Task<ActionResult> EnviarPorEmail(EnviarFacturaPorEmailViewModel viewmodel)
        {
            if (!ModelState.IsValid) return View(viewmodel);

            var factura = await _servicioFactura.BuscarFacturaAsync(viewmodel.IdFactura);

            if (factura == null) return HttpNotFound();

            var mensaje = GenerarMensajeEmail(viewmodel.EditorEmail, factura);

            _servicioFactura.EnviarFacturaPorEmail(mensaje, factura);

            var numeroFacturaCodificada = WebUtility.UrlEncode(factura.NumeroFactura);

            return RedirectToAction("EnviarPorEmailConfirmado", new { numeroFacturaEnviada = numeroFacturaCodificada });

        }
        public async Task<ActionResult> EnviarPorEmail(int? id)
        {
            if (id == null) return new HttpStatusCodeResult(HttpStatusCode.BadRequest);

            var factura = await _servicioFactura.BuscaEditorFacturaAsync(id);

            if (factura == null) return HttpNotFound();

            var viewmodel = new EnviarFacturaPorEmailViewModel
            {
                IdFactura = factura.Id,
                NumeroFactura = factura.NumeroFactura,
                EditorEmail = new EditorEmail
                {
                    Remitente = factura.VendedorEmail,
                    Asunto = string.Format("{0} {1}", FactoriaConfiguracion.ObtenerConfiguracion().NombreComercialEmpresa , factura.NumeroFactura),
                    ContenidoHtml = @"Hola,",
                    Destinatario = factura.CompradorEmail              
                }
            };           
                
            return View(viewmodel);
        }