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));
        }
Example #2
0
        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");
        }