public IActionResult Edit(VentaEncabezado ventaToUpdate) { ViewBag.productos = _context.productos; if (ModelState.IsValid) { var ventaSearch = from v in _context.ventasEncabezados where v.Id == ventaToUpdate.Id select v; var venta = ventaSearch.SingleOrDefault(); if (venta != null) //Si la venta existe { venta.Id = ventaToUpdate.Id; venta.clienteNombre = ventaToUpdate.clienteNombre; venta.clienteApellido = ventaToUpdate.clienteApellido; venta.descripcionVenta = ventaToUpdate.descripcionVenta; venta.stringFechaVenta = ventaToUpdate.stringFechaVenta; venta.fechaVenta = createDateTime(venta.stringFechaVenta); venta.num_productos = ventaToUpdate.num_productos; venta.totalVenta = ventaToUpdate.totalVenta; _context.SaveChanges(); return(RedirectToAction("Index")); } } return(View(ventaToUpdate)); }
public IActionResult Create(VentaEncabezado venta) { ViewBag.productos = _context.productos; if (ModelState.IsValid) //Si hay éxito en el modelo { //Guardar Encabezado en la BD var LastRegister = _context.ventasEncabezados .OrderByDescending(x => x.Id) .FirstOrDefault(); var ultimoId = LastRegister.Id; var nuevoId = (Int32.Parse(ultimoId)) + 1; venta.Id = nuevoId.ToString(); venta.fechaVenta = createDateTime(venta.stringFechaVenta); venta.fecha_reg = DateTime.Now; venta.num_productos = venta.cantidad; _context.ventasEncabezados.Add(venta); //venta.stringfechaventa es en formato yyyy-mm-dd var stringfecha = venta.stringFechaVenta.Split("-"); var cadena = stringfecha[2] + "-" + stringfecha[1] + "-" + stringfecha[0]; //Se cambia el formato a dd-mm-yyyy //Guardar Detalles en la BD var registroDetalles = new VentaDetalle( venta.Id, venta.clienteNombre, venta.clienteApellido, cadena, venta.producto, venta.cantidad, venta.valorUnitario, venta.impuesto, venta.totalVenta); _context.ventasDetalles.Add(registroDetalles); _context.SaveChanges(); return(RedirectToAction("Index")); } return(View(venta)); }
public IActionResult Delete(VentaEncabezado ventaToDelete) { if (ModelState.IsValid) { var ventaSearch = from v in _context.ventasEncabezados where v.Id == ventaToDelete.Id select v; //Elimina el Encabezado de la Venta if (ventaSearch.SingleOrDefault() != null) //Si el cliente existe { _context.ventasEncabezados.Remove(ventaSearch.SingleOrDefault()); } //Se busca en la tabla de Ventas Detalle el nombre, apellido y fecha de venta del encabezado //Si hay varios registros que coinciden los borra var detallesSearch = from d in _context.ventasDetalles where d.clienteNombre == ventaToDelete.clienteNombre && d.clienteApellido == ventaToDelete.clienteApellido && d.fechaVenta.Date == ventaToDelete.fechaVenta.Date select d; if (detallesSearch != null) //Si encontró registros con el mismo ID { foreach (var registro in detallesSearch) { Console.WriteLine("ID a eliminar: " + registro.Id); _context.ventasDetalles.Remove(registro); } } _context.SaveChanges(); return(View("Index", _context.ventasEncabezados)); } return(View(ventaToDelete)); }