public ActionResult Venta() { try { string usuario = Request["nombreuser"].ToString(); var fechahoy = Convert.ToDateTime(Request["fechahoy"].ToString()); var total = Convert.ToDecimal(Request["total"].ToString()); var cliente = 3; var formapago = 1; if (Request["Clientes"] != "") { cliente = Convert.ToInt32(Request["Clientes"].ToString()); } if (Request["FormaPago"] != "") { formapago = Convert.ToInt32(Request["FormaPago"].ToString()); } var usuer = _usuarioAppService.BuscarIdUsuarioporNombre(usuario); int idusuario = usuer.Id; //Factura Factura facturaanterior = new Factura(); facturaanterior = _facturaAppService.UltimaFactura(); Factura factura = new Factura(); if (facturaanterior != null) { factura.NumeroFactura = facturaanterior.NumeroFactura + 1; } else { factura.NumeroFactura = 1; } factura.Fecha = fechahoy; factura.Total = total; factura.UsuarioId = idusuario; factura.TerceroId = cliente; _facturaAppService.Agregar(factura); // Transaccion Transaccion transaccion = new Transaccion(); transaccion.Fecha = fechahoy; transaccion.Total = total; transaccion.UsuarioId = idusuario; transaccion.TerceroId = cliente; Factura obtengo = new Factura(); obtengo = _facturaAppService.UltimaFactura(); transaccion.FacturaId = obtengo.Id; transaccion.TipoTransaccionId = 2; transaccion.FormaPagoId = formapago; _transaccionAppService.Agregar(transaccion); ViewBag.Productos = (List <Item>)Session["cart"]; foreach (var item in ViewBag.Productos) { var cantidad = item.Cantidad; var subtotal = item.SubTotal; var producto = Convert.ToInt32(item.producto.Id); //Actualizacion de Stock _productoAppService.BuscarProductoStock(producto); //Detalle de Factura Factura ultima = new Factura(); ultima = _facturaAppService.UltimaFactura(); var id = ultima.Id; DetalleFactura detalle = new DetalleFactura(); detalle.Cantidad = cantidad; detalle.SubTotal = Convert.ToDecimal(subtotal); detalle.FacturaId = id; detalle.ProductoId = producto; _detallefacturaAppService.Agregar(detalle); //Detalle de Transaccion Transaccion ultra = new Transaccion(); ultra = _transaccionAppService.UltimaTransaccion(); var idultra = ultra.Id; DetalleTransaccion detalletran = new DetalleTransaccion(); detalletran.Cantidad = cantidad; detalletran.SubTotal = Convert.ToDecimal(subtotal); detalletran.TransaccionId = idultra; detalletran.ProductoId = producto; _detalletransaccionAppService.Agregar(detalletran); } } catch (Exception ex) { return(View(ex.Message)); } Session["cart"] = null; return(RedirectToAction("Busqueda", "Producto")); }