public JsonResult EditarProgramaciones(Programaciones oProgramacion, Partidos[] oPartidos, String oper)
        {
            int        nIDProgramacion = 0;
            JsonResult jsonData        = null;

            try
            {
                decimal montoCalculado = ObtenerMontoDeposito(oPartidos);
                if (montoCalculado <= oProgramacion.monto)
                {
                    BaseDatosTorneos bdTorneos = new BaseDatosTorneos();
                    switch (oper)
                    {
                    case "add":

                        Programaciones oProgramacionNuevo = new Programaciones();
                        oProgramacionNuevo.deposito       = oProgramacion.deposito;
                        oProgramacionNuevo.numero         = Utilidades.ObtenerConsecutivoProgramacion();
                        oProgramacionNuevo.monto          = oProgramacion.monto;
                        oProgramacionNuevo.montoCalculado = montoCalculado;
                        oProgramacionNuevo.observaciones  = oProgramacion.observaciones;
                        oProgramacionNuevo.estado         = (int)enumEstadoProgramaciones.Pendiente;
                        oProgramacionNuevo.idTorneo       = Utilidades.ObtenerValorSession("idTorneo");
                        oProgramacionNuevo.idUsuario      = Utilidades.ObtenerValorSession("idUsuario");
                        oProgramacionNuevo.idAsociacion   = Utilidades.ObtenerValorSession("idAsociacion");
                        oProgramacionNuevo.id             = 0;

                        bdTorneos.AddToProgramaciones(oProgramacionNuevo);
                        bdTorneos.SaveChanges();
                        bdTorneos.Detach(oProgramacionNuevo);
                        nIDProgramacion = oProgramacionNuevo.id;

                        jsonData = Json(new { estado = "exito", mensaje = "", ObjetoDetalle = oProgramacionNuevo, estadoValidacion = "exito" });

                        break;

                    case "del":
                        Programaciones oTorneosEliminado = (from p in bdTorneos.Programaciones
                                                            where p.id == oProgramacion.id
                                                            select p).Single();

                        jsonData = Json(new { estado = "exito", mensaje = "", ObjetoDetalle = oTorneosEliminado, estadoValidacion = "exito" });

                        bdTorneos.DeleteObject(oTorneosEliminado);
                        bdTorneos.SaveChanges();
                        nIDProgramacion = oTorneosEliminado.id;
                        break;

                    case "edit":
                        Programaciones oProgramacionEditado = (from p in bdTorneos.Programaciones
                                                               where p.id == oProgramacion.id
                                                               select p).Single();

                        oProgramacionEditado.observaciones  = oProgramacion.observaciones;
                        oProgramacionEditado.deposito       = oProgramacion.deposito;
                        oProgramacionEditado.monto          = oProgramacion.monto;
                        oProgramacionEditado.montoCalculado = montoCalculado;
                        oProgramacionEditado.estado         = (int)enumEstadoProgramaciones.Pendiente;

                        bdTorneos.SaveChanges();
                        bdTorneos.Detach(oProgramacionEditado);
                        nIDProgramacion = oProgramacionEditado.id;

                        jsonData = Json(new { estado = "exito", mensaje = "", ObjetoDetalle = oProgramacionEditado, estadoValidacion = "exito" });
                        break;
                    }
                    foreach (Partidos oPartido in oPartidos)
                    {
                        EditarPartidos(oPartido, nIDProgramacion);
                    }
                }
                else
                {
                    jsonData = Json(new { estado = "error", mensaje = "El monto del depósito debe ser:" + montoCalculado });
                }
            }
            catch
            {
                jsonData = Json(new { estado = "error", mensaje = "Error cargando datos" });
            }
            return(jsonData);
        }