public static string GuardarProspeccion(int IdProspeccion, string Cliente, string Correo, string Nombre, string Telefono, Object[] EstatusProspeccion, string Nota)
    {
        JObject Respuesta = new JObject();

        CUtilerias.DelegarAccion(delegate(CConexion pConexion, int Error, string DescripcionError, CUsuario UsuarioSesion) {
            if (Error == 0)
            {
                JObject Modelo = new JObject();

                CProspeccion Prospeccion = new CProspeccion();
                Prospeccion.LlenaObjeto(IdProspeccion, pConexion);
                Prospeccion.Cliente  = Cliente;
                Prospeccion.Correo   = Correo;
                Prospeccion.Nombre   = Nombre;
                Prospeccion.Telefono = Telefono;
                Prospeccion.Nota     = Nota;

                if (Prospeccion.IdProspeccion == 0)
                {
                    Prospeccion.FechaAlta = DateTime.Now;
                    Prospeccion.IdUsuario = UsuarioSesion.IdUsuario;
                    Prospeccion.Agregar(pConexion);
                }
                else
                {
                    Prospeccion.FechaModificacion = DateTime.Now;
                    Prospeccion.Editar(pConexion);
                }

                foreach (Dictionary <string, object> Estatus in EstatusProspeccion)
                {
                    CEstatusProspeccionUsuario EstatusUsuario = new CEstatusProspeccionUsuario();

                    Dictionary <string, object> pParametros = new Dictionary <string, object>();
                    pParametros.Add("IdProspeccion", Prospeccion.IdProspeccion);
                    pParametros.Add("IdUsuario", UsuarioSesion.IdUsuario);
                    pParametros.Add("IdEstatusProspeccion", Estatus["IdEstatusProspeccion"]);

                    EstatusUsuario.LlenaObjetoFiltros(pParametros, pConexion);

                    if (EstatusUsuario.IdEstatusProspeccionUsuario == 0)
                    {
                        EstatusUsuario.IdUsuario            = UsuarioSesion.IdUsuario;
                        EstatusUsuario.IdEstatusProspeccion = Convert.ToInt32(Estatus["IdEstatusProspeccion"]);
                        EstatusUsuario.IdProspeccion        = Prospeccion.IdProspeccion;
                        EstatusUsuario.FechaAlta            = DateTime.Now;
                        EstatusUsuario.Baja = Convert.ToBoolean(Estatus["Baja"]);
                        EstatusUsuario.Agregar(pConexion);
                    }
                    else
                    {
                        if (EstatusUsuario.Baja != Convert.ToBoolean(Estatus["Baja"]))
                        {
                            EstatusUsuario.IdUsuario = UsuarioSesion.IdUsuario;
                            EstatusUsuario.Baja      = Convert.ToBoolean(Estatus["Baja"]);
                            EstatusUsuario.FechaAlta = DateTime.Now;
                            EstatusUsuario.Editar(pConexion);
                        }
                    }
                    if (Convert.ToBoolean(Estatus["Baja"]) == false)
                    {
                        Prospeccion.IdEstatusProspeccion        = Convert.ToInt32(Estatus["IdEstatusProspeccion"]);
                        Prospeccion.IdEstatusProspeccionUsuario = EstatusUsuario.IdEstatusProspeccionUsuario;
                        Prospeccion.Editar(pConexion);
                    }
                }

                Modelo.Add("IdProspeccion", Prospeccion.IdProspeccion);

                Respuesta.Add("Modelo", Modelo);
            }
            Respuesta.Add("Error", Error);
            Respuesta.Add("Descripcion", DescripcionError);
        });

        return(Respuesta.ToString());
    }