public ActionResult Create(Pedidos pedidos) { if (ModelState.IsValid) { // Antes de crear una Facturas debes consultar si existe ya un factura para que le el pedido se guarde con esa factura DateTime FechaActual=new DateTime(DateTime.Now.Year,DateTime.Now.Month,DateTime.Now.Day); DateTime FechaActual2 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day,23,59,59); var Facturas = db.Facturas.Where(F=>F.Cliente==pedidos.IdCliente && (F.FechaFactura>=FechaActual && F.FechaFactura<=FechaActual2)); if (Facturas.Count() == 0) { Facturas Factura = new Facturas();//Creo una factura Factura.FechaFactura = DateTime.Now; Factura.Estado = 1; Factura.Cliente = (int)pedidos.IdCliente; Factura.TotalFactura = (decimal)pedidos.ValorTotal; ; Factura.Cerrada = 2; db.Facturas.Add(Factura); db.SaveChanges(); } Facturas fac = (from F in db.Facturas orderby F.Id descending select F).FirstOrDefault(); pedidos.IdFactura = fac.Id; ViewBag.Id = pedidos.Id; pedidos.Cerrado = 2;//no esta Cerrado pedidos.Estado = 1;//Pendiente pedidos.FechaPedido = DateTime.Now; fac.TotalFactura = ActualizarFactura(fac.Id); db.Entry(fac).State = EntityState.Modified; db.Pedidos.Add(pedidos); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.Estado = new SelectList(db.EstadosDelPedido, "Id", "Nombre", pedidos.Estado); ViewBag.IdFactura = new SelectList(db.Facturas, "Id", "Id", pedidos.IdFactura); ViewBag.Cerrado = new SelectList(db.SiNo, "Id", "Nombre", pedidos.Cerrado); ViewBag.IdCliente = new SelectList(db.Usuarios, "Id", "Nombres", pedidos.IdCliente); return View(pedidos); }
public ActionResult Edit(Pedidos pedidos) { if (ModelState.IsValid) { db.Entry(pedidos).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.Estado = new SelectList(db.EstadosDelPedido, "Id", "Nombre", pedidos.Estado); ViewBag.IdFactura = new SelectList(db.Facturas, "Id", "Id", pedidos.IdFactura); ViewBag.Cerrado = new SelectList(db.SiNo, "Id", "Nombre", pedidos.Cerrado); ViewBag.IdCliente = new SelectList(db.Usuarios, "Id", "Nombres", pedidos.IdCliente); return View(pedidos); }