public async Task CambiarEstadoFacturaAsync(EditorEstadoFactura editor) { Factura = await BuscarFacturaAsync(editor.IdFactura); Factura.EstadoFactura = editor.EstadoFactura; _contexto.Entry(Factura).State = EntityState.Modified; await GuardarCambiosAsync(); }
public async Task<int> ActualizarFacturaAsync(EditorFactura editor) { Factura = await BuscarFacturaAsync(editor.Id); ModificarFactura(editor); _contexto.Entry(Factura).State = EntityState.Modified; return await GuardarCambiosAsync(); }
public static void InyectarFactura(this VisorFactura visor, Factura factura) { visor.InjectFrom(factura); visor.BorrarLineasFactura(); foreach (var lineaFactura in factura.Lineas) { var lineaVisor = new LineaVisorFactura(); lineaVisor.InjectFrom(lineaFactura); visor.Lineas.Add(lineaVisor); } }
public async Task<int> EliminarFactura(int idFactura) { Factura = await BuscarFacturaAsync(idFactura); while (Factura.Lineas.Any()) { var linea = Factura.Lineas.First(); _contexto.LineasFacturas.Remove(linea); } _contexto.Facturas.Remove(Factura); return await GuardarCambiosAsync(); }
public async Task<int> CrearFacturasAsync(List<EditorFactura> editores) { foreach (var editor in editores) { Factura = new Factura(); ModificarFactura(editor); _contexto.Facturas.Add(Factura); } var cambios = await GuardarCambiosAsync(); return cambios; }
public async Task<int> CrearFacturaAsync(EditorFactura editor) { Factura = new Factura(); ModificarFactura(editor); _contexto.Facturas.Add(Factura); var cambios = await GuardarCambiosAsync(); editor.InyectarFactura(Factura); return cambios; }
public static void InyectarFactura(this EditorFactura editor, Factura factura) { editor.InjectFrom(factura); editor.PorcentajeIvaPorDefecto = 21; editor.BorrarLineasFactura(); foreach (var lineaFactura in factura.Lineas) { var lineaEditor = new EditorLineaFactura(); lineaEditor.InjectFrom(lineaFactura); editor.Lineas.Add(lineaEditor); } }
public static void InyectarFactura(this DataSetFactura datasetFactura, Factura factura, string urlRaizWeb) { var filaDatasetFactura = datasetFactura.Facturas.NewFacturasRow(); filaDatasetFactura.InyectarFactura(factura); datasetFactura.Facturas.AddFacturasRow(filaDatasetFactura); foreach (var linea in factura.Lineas) { var filaDatasetLineaFactura = datasetFactura.FacturasLineas.NewFacturasLineasRow(); filaDatasetLineaFactura.Id = linea.Id; filaDatasetLineaFactura.IdFactura = linea.IdFactura; filaDatasetLineaFactura.Descripcion = linea.Descripcion; filaDatasetLineaFactura.Cantidad = linea.Cantidad; filaDatasetLineaFactura.PrecioUnitario = linea.PrecioUnitario; filaDatasetLineaFactura.PorcentajeImpuesto = linea.PorcentajeImpuesto; datasetFactura.FacturasLineas.AddFacturasLineasRow(filaDatasetLineaFactura); } }
public static void InyectarFactura(this DataSetFactura.FacturasRow fila, Factura factura) { fila.Id = factura.Id; fila.RutaLogo = "/Content/Logos/LogoGF.jpg"; fila.NumeroFactura = factura.NumeroFactura; fila.FechaEmisionFactura = factura.FechaEmisionFactura; if (factura.FechaVencimientoFactura.HasValue) fila.FechaVencimientoFactura = factura.FechaVencimientoFactura.Value; else fila.SetFechaVencimientoFacturaNull(); fila.VendedorNumeroIdentificacionFiscal = factura.VendedorNumeroIdentificacionFiscal; fila.VendedorNombreOEmpresa= factura.VendedorNombreOEmpresa; fila.VendedorDireccion = factura.VendedorDireccion; fila.VendedorLocalidad = factura.VendedorLocalidad; fila.VendedorProvincia = factura.VendedorProvincia; fila.VendedorCodigoPostal = factura.VendedorCodigoPostal; fila.CompradorNumeroIdentificacionFiscal = factura.CompradorNumeroIdentificacionFiscal; fila.CompradorNombreOEmpresa = factura.CompradorNombreOEmpresa; fila.CompradorDireccion = factura.CompradorDireccion; fila.CompradorLocalidad = factura.CompradorLocalidad; fila.CompradorProvincia = factura.CompradorProvincia; fila.CompradorCodigoPostal = factura.CompradorCodigoPostal; fila.Comentarios = factura.Comentarios; fila.ComentariosPie = factura.ComentariosPie; fila.FormaPago = factura.FormaPago.ObtenerNombreAtributoDisplay(); fila.FormaPagoDetalles = factura.FormaPagoDetalles; fila.BaseImponible = factura.BaseImponible; fila.ImporteImpuestos = factura.ImporteImpuestos; fila.ImporteTotal = factura.ImporteTotal; }
public void EnviarFacturaPorEmail(MensajeEmail mensaje, Factura factura) { _servicioEmail.EnviarMensaje(mensaje); factura.EstadoFactura = EstadoFacturaEnum.Enviada; _contexto.SaveChanges(); }
private MensajeEmail GenerarMensajeEmail(EditorEmail editorEmail, Factura factura) { var informeLocal = GenerarInformeLocalFactura(factura); string mimeType; byte[] facturaPdf = ServicioPdf.GenerarPdfFactura(informeLocal, out mimeType); var mensaje = new MensajeEmail { Asunto = editorEmail.Asunto, Cuerpo = editorEmail.ContenidoHtml, DireccionRemitente = editorEmail.Remitente, NombreRemitente = factura.VendedorNombreOEmpresa, DireccionesDestinatarios = new List<string> { editorEmail.Destinatario }, Adjuntos = new List<ArchivoAdjunto> { new ArchivoAdjunto { Archivo = facturaPdf, MimeType = mimeType, Nombre = factura.Titulo } } }; return mensaje; }
private LocalReport GenerarInformeLocalFactura(Factura factura) { var rutaPlantillaInforme = ObtenerRutaPlantillaInforme(factura); var informeLocal = new LocalReport { ReportPath = rutaPlantillaInforme, EnableExternalImages = true }; var urlRaizWeb = RutaServidor.ObtenerUrlRaizWeb(); var datasetFactura = factura.ConvertirADataSet(urlRaizWeb); informeLocal.DataSources.Add(new ReportDataSource("Facturas", datasetFactura.Tables[0])); informeLocal.DataSources.Add(new ReportDataSource("Lineas", datasetFactura.Tables[1])); return informeLocal; }
private string ObtenerRutaPlantillaInforme(Factura factura) { if (string.IsNullOrEmpty(factura.NombreArchivoPlantillaInforme)) return Server.MapPath("~/Content/Informes/Factura.rdlc"); return Server.MapPath("~/App_Data/Informes/" + factura.NombreArchivoPlantillaInforme); }