public ActionResult Edit(Factura factura) { if (ModelState.IsValid) { if (factura.EstadoActual == (int)Estado.Valores.Cobrada && factura.FechaCobro == null) { factura.FechaCobro = DateTime.Today; } db.Entry(factura).State = EntityState.Modified; db.SaveChanges(); #region Notificación y Bitácora Notificacion.CrearNotificacionFactura(factura); var bitacora = new Bitacora { EstadoId = factura.EstadoActual, ComprobanteId = factura.ComprobanteId, Fecha = DateTime.Today }; db.Bitacoras.Add(bitacora); db.SaveChanges(); #endregion return(RedirectToAction("Index")); } ViewBag.EstadoActual = new SelectList(db.Estados, "Id", "Nombre", factura.EstadoActual); return(View(factura)); }
public ActionResult DeleteConfirmed(long id) { Factura factura = db.Facturas.Find(id); factura.EstadoActual = (int)Estado.Valores.Anulada; #region Notificación y Bitácora Notificacion.CrearNotificacionFactura(factura); var bitacora = new Bitacora { EstadoId = factura.EstadoActual, ComprobanteId = factura.ComprobanteId, Fecha = DateTime.Today }; db.Bitacoras.Add(bitacora); db.SaveChanges(); #endregion db.Entry(factura).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Create(Factura factura) { if (ModelState.IsValid) { List <FacturaDetalleDtoAjax> detalles = (List <FacturaDetalleDtoAjax>)Session["factura_detalles"] ?? new List <FacturaDetalleDtoAjax>(); factura.FacturaDetalles = detalles.Select(FacturaDetalleDtoAjax.ModelFromDto).ToList(); Cliente clienteSeleccionado = db.Clientes.Find(factura.ClienteId); factura.FechaVencimiento = factura.Fecha.AddDays(factura.DiasPagoFactura); factura.MonotributistaId = Monotributista.IdUsuarioActual; factura.NombreArchivo = factura.MonotributistaId + "_Fact" + factura.Numero.ToString("0000") + ".pdf"; factura.EstadoActual = (int)Estado.Valores.Emitida; db.Comprobantes.Add(factura); db.SaveChanges(); clienteSeleccionado.TotalFacturado += factura.Importe; #region Notificación y Bitácora Notificacion.CrearNotificacionFactura(factura); var bitacora = new Bitacora { EstadoId = factura.EstadoActual, ComprobanteId = factura.ComprobanteId, Fecha = DateTime.Today }; factura.Comprobante.Bitacoras.Add(bitacora); db.Entry(factura).State = EntityState.Modified; db.SaveChanges(); #endregion Session.Remove("factura_detalles"); return(RedirectToAction("Index")); } ViewBag.ClienteId = new SelectList(db.Clientes, "Id", "Nombre", factura.ClienteId); //ViewBag.MonotributistaId = new SelectList(db.Monotributistas, "Id", "CUIT", factura.MonotributistaId); //ViewBag.ComprobanteId = new SelectList(db.Comprobantes, "Id", "EstadoActual", factura.ComprobanteId); ViewBag.FormaPagoId = new SelectList(db.FormasPago, "Id", "Nombre", factura.FormaPagoId); ViewBag.PresupuestoId = new SelectList(db.Comprobantes, "Id", "Numero", factura.PresupuestoId); //ViewBag.RecorridoCobranzaId = new SelectList(db.RecorridosCobranzas, "Id", "Descripcion", factura.RecorridoCobranzaId); return(View(factura)); }
public async Task <ActionResult> Enviar(Email email) { if (ModelState.IsValid) { email.Html = email.Text; Comprobante comprobante = db.Comprobantes.Find(email.ComprobanteId); if (comprobante == null) { return(HttpNotFound()); } Factura factura = db.Facturas.Find(comprobante.Id); if (factura == null) { return(HttpNotFound()); } var builder = new FacturaPdfSender(factura, email); await builder.GetPdf(); #region Notificación y Bitácora factura.EstadoActual = (int)Estado.Valores.Enviada; db.Entry(factura).State = EntityState.Modified; db.SaveChanges(); Notificacion.CrearNotificacionFactura(factura); var bitacora = new Bitacora { EstadoId = factura.EstadoActual, ComprobanteId = factura.ComprobanteId, Fecha = DateTime.Today }; db.Bitacoras.Add(bitacora); db.SaveChanges(); #endregion db.Emails.Add(email); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(email)); }