public ActionResult OrdenDetalle(OrdenesDetalles detalle) { if (ModelState.IsValid) { if (detalle.OrdenDetalleId == Guid.Empty) { detalle.OrdenDetalleId = Guid.NewGuid(); if (Orden.OrdenesDetalles == null) { Orden.OrdenesDetalles = new List <OrdenesDetalles>(); } Orden.OrdenesDetalles.Add(detalle); } else { var old = Orden.OrdenesDetalles.First(x => x.OrdenDetalleId == detalle.OrdenDetalleId); var index = Orden.OrdenesDetalles.ToList().IndexOf(old); var lista = Orden.OrdenesDetalles.ToList(); lista.RemoveAt(index); lista.Insert(index, detalle); var nuevaLista = new HashSet <OrdenesDetalles>(lista); Orden.OrdenesDetalles = nuevaLista; } } return(PartialView(Orden.OrdenesDetalles)); }
public ActionResult Cobrar(Ordenes ordenes) { Contexto con = new Contexto(); Ordenes ordenesmodelo = new Ordenes(); ordenesmodelo.Total = ordenes.Total; ordenesmodelo.cambio = ordenes.cambio; ordenesmodelo.FechaHora = System.DateTime.Now; ordenesmodelo.PagaCon = ordenes.PagaCon; ordenesmodelo.Id = ordenes.Id; ordenesmodelo.Idpaciente = ordenes.Idpaciente; ordenesmodelo.formapago = ordenes.formapago; ordenesmodelo.Factura = ordenes.Factura; var username = Seguridad.Encrypt(HttpContext.User.Identity.Name); int idenc = con.users.FirstOrDefault(x => x.Usuario == username).IdDelegacion; int idsuario = con.users.FirstOrDefault(x => x.Usuario == username).Id; ordenesmodelo.IdDelegacionExpedicion = idenc; ordenesmodelo.IdUsuario = idsuario; var validar = con.ordenes.FirstOrDefault(m => m.Id == ordenes.Id); if (validar == null) { int maxId = 0; try { maxId = (from c in con.ordenes select c.Id).Max(); ordenesmodelo.Id = maxId; } catch (Exception ex) { ordenesmodelo.Id = 1; } con.ordenes.Add(ordenesmodelo); con.SaveChanges(); IEnumerable <OrdenesTemporal> ordenesTemporals = con.ordenestemporal.Where(s => s.IdFolio == ordenes.Id); foreach (var i in ordenesTemporals) { OrdenesDetalles ordenesDetalles = new OrdenesDetalles(); ordenesDetalles.IdFolio = i.IdFolio; ordenesDetalles.IdServicio = i.IdServicio; ordenesDetalles.cantidad = i.cantidad; ordenesDetalles.Precio = contexto.serviciosDelegacionPrecios.Where(x => x.Id == i.IdPrecio).FirstOrDefault().PrecioSinIva; ordenesDetalles.subtotal = i.subtotal; if (ordenesmodelo.Factura) { ordenesDetalles.IVA = i.IVA; } else { ordenesDetalles.IVA = 0; } ordenesDetalles.Total = i.Total; con.ordenesdetalles.Add(ordenesDetalles); } con.ordenestemporal.RemoveRange(con.ordenestemporal.Where(x => x.IdFolio == ordenes.Id)); con.SaveChanges(); con.Dispose(); } return(Json(true, JsonRequestBehavior.AllowGet)); // return RedirectToAction("Index"); }